1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
// Copyright (c) 2015-2017 Ivo Wetzel // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. //! **cobalt** is low level a networking library which implements [virtual //! connections over UDP](http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/) //! supporting both unreliable messaging and reliable messages with optional //! in-order delivery. //! //! It is designed for use with real-time, low latency situations, for example //! action oriented multiplayer games. //! //! The library provides the underlying architecture required for handling and //! maintaining virtual connections over UDP sockets and takes care of sending //! raw messages over the established client-server connections with minimal //! overhead. #![cfg_attr(feature="clippy", feature(plugin))] #![cfg_attr(feature="clippy", plugin(clippy))] #![deny( missing_docs, missing_debug_implementations, missing_copy_implementations, trivial_casts, trivial_numeric_casts, unsafe_code, unused_import_braces, unused_qualifications )] mod shared; mod traits; mod client; mod server; // Exports -------------------------------------------------------------------- pub use shared::{ BinaryRateLimiter, Config, Connection, ConnectionID, ConnectionMap, ConnectionState, ConnectionEvent, MessageKind, NoopPacketModifier, UdpSocket }; pub use traits::*; pub use client::*; pub use server::*; #[cfg(test)] mod test;