[package] name = "matchbox_socket" version = "0.10.0" authors = ["Johan Helsing "] description = "Painless WebRTC peer-to-peer full-mesh networking socket" edition = "2021" license = "MIT OR Apache-2.0" keywords = ["gamedev", "webrtc", "peer-to-peer", "networking", "wasm"] categories = [ "network-programming", "game-development", "wasm", "web-programming", ] repository = "https://github.com/johanhelsing/matchbox" [features] ggrs = ["dep:bincode", "dep:ggrs"] [dependencies] matchbox_protocol = { version = "0.10", path = "../matchbox_protocol", default-features = false } futures-channel = { version = "0.3", default-features = false, features = [ "sink", ] } futures = { version = "0.3", default-features = false } futures-timer = { version = "3.0", default-features = false } futures-util = { version = "0.3", default-features = false, features = [ "sink", "async-await-macro", "channel", ] } serde = { version = "1.0", default-features = false, features = ["derive"] } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } log = { version = "0.4", default-features = false } thiserror = "1.0" cfg-if = "1.0" async-trait = "0.1" once_cell = { version = "1.17", default-features = false, features = [ "race", "alloc", ] } derive_more = "0.99" ggrs = { version = "0.10", default-features = false, optional = true } bincode = { version = "1.3", default-features = false, optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] ggrs = { version = "0.10", default-features = false, optional = true, features = [ "wasm-bindgen", ] } ws_stream_wasm = { version = "0.7", default-features = false } wasm-bindgen-futures = { version = "0.4", default-features = false } wasm-bindgen = { version = "0.2", default-features = false } futures-timer = { version = "3.0", default-features = false, features = [ "wasm-bindgen", ] } js-sys = { version = "0.3", default-features = false } web-sys = { version = "0.3.22", default-features = false, features = [ "MessageEvent", "RtcConfiguration", "RtcDataChannel", "RtcDataChannelInit", "RtcDataChannelType", "RtcIceCandidate", "RtcIceCandidateInit", "RtcIceConnectionState", "RtcIceGatheringState", "RtcPeerConnection", "RtcPeerConnectionIceEvent", "RtcSdpType", "RtcSessionDescription", "RtcSessionDescriptionInit", ] } serde-wasm-bindgen = "0.6" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] async-tungstenite = { version = "0.26", default-features = false, features = [ "async-std-runtime", "async-tls", ] } webrtc = { version = "0.11", default-features = false } bytes = { version = "1.1", default-features = false } async-compat = { version = "0.2", default-features = false } [dev-dependencies] futures-test = "0.3"