[package] name = "joule-contrib" version = "0.1.0" description = "Contribution over UDP with retransmission: SRT (draft-sharabayko-srt-01) listener and caller with its latency window, ARQ and AES-CTR, and RIST (VSF TR-06-1 Simple and TR-06-2 Main profiles: RTP, RTCP retransmission requests, GRE-over-UDP tunnelling, PSK), with an MPEG-TS demultiplexer and an account of every sequence number's loss, recovery and latency." edition = "2024" license = "Apache-2.0" repository = "https://github.com/transaction-science/open-standards" [lib] path = "src/lib.rs" [features] default = [] # RIST (VSF TR-06-1, TR-06-2). Off by default: both texts carry an IPR notice on their # protocol sections with a licensing assurance to implementers, and whether a default build # carries the code is the owner's decision (README, "Patents"). rist = [] [[bin]] name = "joule-contrib-send" path = "src/bin/send.rs" [[bin]] name = "joule-contrib-recv" path = "src/bin/recv.rs" [[bin]] name = "joule-contrib-bench" path = "src/bin/bench.rs" [dependencies] # AES (FIPS 197) on the CPU's AES instructions where it has them, CTR mode (SP 800-38A), # HMAC (RFC 2104) with SHA-1 and SHA-256: RustCrypto, MIT OR Apache-2.0. PBKDF2 (RFC 8018) # and AES key wrap (RFC 3394) are written here over them. aes = "0.9" ctr = "0.10" hmac = "0.13" sha1 = "0.11" sha2 = "0.11" tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util"] } rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] } serde = { version = "1", features = ["derive"] } serde_json = "1" hex = "0.4" tracing = "0.1" [dev-dependencies] tokio = { version = "1", features = ["rt-multi-thread", "macros"] }