forked from joaquinbejar/OrderBook-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
104 lines (93 loc) · 2.72 KB
/
Cargo.toml
File metadata and controls
104 lines (93 loc) · 2.72 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
[package]
name = "orderbook-rs"
version = "0.6.2"
edition = "2024"
authors = ["Joaquin Bejar <jb@taunais.com>"]
description = "A high-performance, lock-free price level implementation for limit order books in Rust. This library provides the building blocks for creating efficient trading systems with support for multiple order types and concurrent access patterns."
license = "MIT"
readme = "README.md"
repository = "https://github.com/joaquinbejar/OrderBook-rs"
homepage = "https://github.com/joaquinbejar/OrderBook-rs"
keywords = ["finance", "orderbook", "trading"]
categories = ["finance", "data-structures"]
autobenches = false
include = [
"benches/**/*",
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE",
"CHANGELOG.md",
"examples/**/*.rs",
"tests/**/*.rs",
"Makefile",
"rust-toolchain.toml",
"Draws/**/*.png",
"Docker/**/*.Dockerfile",
"Docker/**/*.yml",
]
[dependencies]
tracing = { workspace = true }
uuid = { workspace = true }
pricelevel = { workspace = true }
dashmap = { workspace = true }
crossbeam-skiplist = { workspace = true }
crossbeam = { workspace = true }
serde_json = { workspace = true }
serde = { workspace = true }
sha2 = { workspace = true }
tokio = { workspace = true, features = ["sync", "rt", "time"] }
bitflags = { workspace = true }
thiserror = { workspace = true }
either = { workspace = true }
async-nats = { workspace = true, optional = true }
bytes = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }
crc32fast = { workspace = true, optional = true }
memmap2 = { workspace = true, optional = true }
[features]
default = []
special_orders = []
nats = ["dep:async-nats", "dep:bytes"]
bincode = ["dep:bincode"]
journal = ["dep:crc32fast", "dep:memmap2"]
[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "time"] }
tempfile = "3"
[[bench]]
name = "benches"
path = "benches/mod.rs"
harness = false
[[test]]
name = "tests"
path = "tests/unit/mod.rs"
[lib]
name = "orderbook_rs"
path = "src/lib.rs"
crate-type = ["cdylib", "rlib"]
[workspace]
members = [
"examples"
]
[workspace.dependencies]
orderbook-rs = { path = "." }
pricelevel = "0.7"
tracing = "0.1"
uuid = { version = "1.23", features = ["v4", "v5", "serde"] }
dashmap = "6.1"
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
sha2 = "0.11"
tokio = { version = "1.52", features = ["sync", "rt", "time"] }
crossbeam-skiplist = "0.1"
crossbeam = "0.8"
bitflags = { version = "2.11", features = ["serde"] }
thiserror = "2"
either = "1.15"
tracing-subscriber = "0.3"
async-nats = "0.47"
bytes = "1"
bincode = { version = "2.0", features = ["serde"] }
crc32fast = "1"
memmap2 = "0.9"