[package] name = "ipfi" version = "0.1.0-rc.2" edition = "2021" description = "The inter-planetary function interface: a lightning-fast RPC library that just works." authors = [ "arctic-hen7 " ] license = "MIT" repository = "https://github.com/framesurge/ipfi" readme = "README.md" keywords = [ "rpc", "ffi", "ipfi", "concurrent", "ipc" ] categories = [ "encoding", "web-programming" ] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] serde = { version = "1", features = [ "derive" ], optional = true } rmp-serde = { version = "1", optional = true } rmp = { version = "0.8", optional = true } thiserror = "1" dashmap = "5.4.0" crossbeam-queue = "0.3" nohash-hasher = "0.2" fxhash = "0.2" tokio = { version = "1", features = [ "sync", "io-util", "time", "rt" ], optional = true } [dev-dependencies] once_cell = "1" tokio = { version = "1", features = [ "macros", "io-std", "rt-multi-thread", "process" ] } [features] default = [ "wire", "serde", "int-u16", "async", "blocking" ] wire = [] serde = [ "dep:serde", "rmp-serde", "rmp" ] async = [ "tokio" ] blocking = [] # These are mutually exclusive features that govern which integer type is used internally. When you know approximately # how many messages you need to be sending and receiving, this can be extremely useful to reduce memory usage. int-u8 = [] int-u16 = [] int-u32 = [] int-u64 = [] [workspace] members = [ "benches/*" ]