Skip to content

Commit

Permalink
Add distinct connections over Io (#18)
Browse files Browse the repository at this point in the history
Real world servers often use concurrency for processing requests.
Protocols also lean on message ordering per connection, ie TCP. Neither
of these features were available with the current `Io` implementation.

This change overlays connection support on top of `Io` by multiplexing
through an actor. A simple TCP-like state machine is used to initiate and
accept connections.
  • Loading branch information
mcches committed Sep 6, 2022
1 parent 8963a33 commit aaaf069
Show file tree
Hide file tree
Showing 4 changed files with 632 additions and 1 deletion.
5 changes: 4 additions & 1 deletion Cargo.toml
Expand Up @@ -17,11 +17,14 @@ keywords = ["Deterministic", "Simulation", "Testing"]
categories = ["asynchronous", "network-programming", "simulation"]

[dependencies]
futures = "0.3"
indexmap = "1.9"
rand = { version = "0.8.5", features = ["small_rng"] }
rand_distr = "0.4.3"
scoped-tls = "1.0.0"
serde = { version = "1.0.143", features = ["derive"] }
serde_json = "1.0.83"
tokio = { version = "1.19.2", features = ["rt", "sync", "test-util", "time"] }
tokio = { version = "1.19.2", features = ["full"] }
tokio-stream = "0.1.9"
tokio-test = { version = "0.4.2" }
unicycle = "0.9.2"

0 comments on commit aaaf069

Please sign in to comment.