forked from googleforgames/quilkin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
114 lines (105 loc) · 3.88 KB
/
Cargo.toml
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
108
109
110
111
112
113
114
#
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[workspace]
members = [".", "./macros", "./agones"]
[package]
name = "quilkin"
version = "0.5.0-dev"
authors = ["Mark Mandel <[email protected]>", "Ifeanyi Ubah <[email protected]>", "Erin Power <[email protected]>"]
license = "Apache-2.0"
description = "Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more."
homepage = "https://github.com/googleforgames/quilkin"
repository = "https://github.com/googleforgames/quilkin"
readme = "README.md"
keywords = ["proxy", "game-server", "game-development", "networking", "multiplayer"]
categories = ["game-development", "network-programming"]
edition = "2021"
exclude = ["docs", "build", "examples", "image"]
[[bench]]
name = "throughput"
harness = false
test = true
[dependencies]
# Local
quilkin-macros = { version = "0.5.0-dev", path = "./macros" }
# Crates.io
arc-swap = { version = "1.5.1", features = ["serde"] }
async-stream = "0.3.3"
base64 = "0.13.1"
base64-serde = "0.6.1"
bytes = { version = "1.2.1", features = ["serde"] }
cached = "0.40.0"
chrono = "0.4.23"
clap = { version = "4.0.26", features = ["cargo", "derive", "env"] }
dashmap = "5.4.0"
dirs2 = "3.0.1"
either = "1.8.0"
enum-map = "2.4.1"
eyre = "0.6.8"
futures = "0.3.25"
hyper = { version = "0.14.23", features = ["http2"] }
hyper-rustls = { version = "0.23.1", features = ["http2", "webpki-roots"] }
ipnetwork = "0.20.0"
k8s-openapi = { version = "0.16.0", features = ["v1_22", "schemars"] }
kube = { version = "0.76.0", features = ["derive", "runtime", "rustls-tls", "client"], default-features = false }
maxminddb = "0.23.0"
notify = "5.0.0"
num_cpus = "1.14.0"
once_cell = "1.16.0"
parking_lot = "0.12.1"
prometheus = { version = "0.13.3", default-features = false }
prost = "0.11.2"
prost-types = "0.11.2"
rand = "0.8.5"
regex = "1.7.0"
schemars = { version = "0.8.11", features = ["chrono", "bytes", "url"] }
serde = { version = "1.0.147", features = ["derive", "rc"] }
serde_json = "1.0.88"
serde_regex = "1.1.0"
serde_stacker = "0.1.6"
serde_yaml = "0.9.14"
snap = "1.0.5"
socket2 = "0.4.7"
stable-eyre = "0.2.2"
tempdir = "0.3.7"
thiserror = "1.0.37"
tokio = { version = "1.21.2", features = ["rt-multi-thread", "fs", "signal", "test-util", "parking_lot", "tracing"] }
tokio-stream = { version = "0.1.11", features = ["sync"] }
tonic = "0.8.2"
tracing = "0.1.37"
tracing-futures = { version = "0.2.5", features = ["futures-03"] }
tracing-subscriber = { version = "0.3.16", features = ["json", "env-filter"] }
tryhard = "0.5.0"
url = { version = "2.3.1", features = ["serde"] }
uuid = { version = "1.2.2", default-features = false, features = ["v4"] }
lasso = { version = "0.6.0", features = ["multi-threaded"] }
[target.'cfg(target_os = "linux")'.dependencies]
sys-info = "0.9.1"
[dev-dependencies]
regex = "1.7.0"
criterion = { version = "0.4.0", features = ["html_reports"] }
once_cell = "1.16.0"
tracing-test = "0.2.3"
pretty_assertions = "1.3.0"
[build-dependencies]
tonic-build = { version = "0.8.2", default_features = false, features = ["transport", "prost"] }
prost-build = "0.11.2"
built = { version = "0.5.1", features = ["git2"] }
protobuf-src = { version = "1.1.0", optional = true }
[features]
default = ["vendor-protoc"]
instrument = []
vendor-protoc = ["dep:protobuf-src"]