-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCargo.toml
More file actions
107 lines (90 loc) · 3.35 KB
/
Copy pathCargo.toml
File metadata and controls
107 lines (90 loc) · 3.35 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
105
106
107
[package]
name = "flowd-rs"
version = "0.5.0-pre"
authors = ["Ernst Rohlicek <ernst@rohlicek.at>"]
repository = "https://github.com/ERnsTL/flowd"
license = "LGPL-3.0-or-later"
description = "inter-language runtime for Flow-based Programming (FBP)"
edition = "2021"
[[bin]]
name = "flowd-rs"
[workspace]
members = [".", "component_api", "components/*"]
[features]
default = ["enforce-process-non-blocking-contract"]
allow-module-components = []
enforce-process-non-blocking-contract = []
[dependencies]
#NOTE: the features remove logging level output more detailed than certain level, at compile-time (!)
#TODO if component crates do not declare the features, do they still get compiled with those features to save logging level checks?
log = {version = "0.4", features = ["max_level_debug", "release_max_level_info"] }
# logging facade
simplelog = "^0.12.0"
# Websocket for management API
tungstenite = "0.20"
# serialization and deserialization of JSON FBP protocol messages
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = { version = "2.0.0", features = ["macros"] }
chrono = "0.4.26"
# for message/IP transfer
rtrb = "0.2"
#dashmap = { version = "5.3.4", features = ["serde"] }
multimap = "0.10.0"
# signal handling for graceful shutdown
signal-hook = "0.3"
flowd_component_api = { path = "component_api" }
# components
flowd-repeat = { path = "components/repeat" }
flowd-drop = { path = "components/drop" }
flowd-output = { path = "components/output" }
flowd-libcomponent = { path = "components/libcomponent" }
flowd-unixsocket = { path = "components/unixsocket" }
flowd-file = { path = "components/file" }
flowd-trim = { path = "components/trim" }
flowd-splitlines = { path = "components/splitlines" }
flowd-count = { path = "components/count" }
flowd-cron = { path = "components/cron" }
flowd-cmd = { path = "components/cmd" }
flowd-hasher = { path = "components/hasher" }
flowd-equals = { path = "components/equals" }
flowd-http = { path = "components/http" }
flowd-muxer = { path = "components/muxer" }
flowd-mqtt = { path = "components/mqtt" }
flowd-redis = { path = "components/redis" }
flowd-imap = { path = "components/imap" }
flowd-openai = { path = "components/openai" }
flowd-template = { path = "components/template" }
flowd-regexp = { path = "components/regexp" }
flowd-text = { path = "components/text" }
flowd-zeroconf = { path = "components/zeroconf" }
flowd-xz = { path = "components/xz" }
flowd-brotli = { path = "components/brotli" }
flowd-html = { path = "components/html" }
flowd-ws = { path = "components/ws" }
flowd-tcp = { path = "components/tcp" }
flowd-tls = { path = "components/tls" }
flowd-json = { path = "components/json" }
flowd-ssh = { path = "components/ssh" }
flowd-telegram = { path = "components/telegram" }
flowd-matrix = { path = "components/matrix" }
flowd-sexp = { path = "components/sexp" }
flowd-delay = { path = "components/delay" }
flowd-vis = { path = "components/vis" }
flowd-panic = { path = "components/panic" }
flowd-email = { path = "components/email" }
flowd-router = { path = "components/router" }
# for build.rs
[build-dependencies]
semver = "1.0"
serde = { version = "1.0", features = ["derive"] }
toml = "0.8"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1.0"
[[bench]]
name = "pipeline_benchmarks"
harness = false
[[bench]]
name = "micro_benchmarks"
harness = false