Skip to content

Commit a17f38f

Browse files
authored
Update to Rust 1.81.0 (#1017)
1 parent ad5cf87 commit a17f38f

File tree

9 files changed

+61
-83
lines changed

9 files changed

+61
-83
lines changed

Cargo.lock

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ io-uring = { version = "0.6", default-features = false }
160160
libc = "0.2"
161161
slab = "0.4"
162162
sys-info = "0.9.1"
163-
pprof = { version = "0.13.0", features = ["prost", "prost-codec"] }
163+
pprof = { version = "0.13.0", features = ["prost", "prost-codec"], package = "pprof2" }
164164

165165
[dev-dependencies]
166166
divan = "0.1.2"

benches/cluster_map.rs

+15-16
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#![cfg(target_pointer_width = "99")]
1+
#![cfg(target_pointer_width = "64")]
22

33
use divan::Bencher;
4-
use quilkin::net::cluster::ClusterMap;
4+
use quilkin::{net::cluster::ClusterMap, xds::Resource};
55

66
mod shared;
77

@@ -16,21 +16,20 @@ mod serde {
1616

1717
fn serialize_to_protobuf(cm: &ClusterMap) -> Vec<Any> {
1818
let mut resources = Vec::new();
19-
let resource_type = quilkin::net::xds::ResourceType::Cluster;
2019

2120
for cluster in cm.iter() {
2221
resources.push(
23-
resource_type
24-
.encode_to_any(&Cluster {
25-
locality: cluster.key().clone().map(From::from),
26-
endpoints: cluster
27-
.endpoints
28-
.iter()
29-
.map(TryFrom::try_from)
30-
.collect::<Result<_, _>>()
31-
.unwrap(),
32-
})
33-
.unwrap(),
22+
Resource::Cluster(Cluster {
23+
locality: cluster.key().clone().map(From::from),
24+
endpoints: cluster
25+
.endpoints
26+
.iter()
27+
.map(TryFrom::try_from)
28+
.collect::<Result<_, _>>()
29+
.unwrap(),
30+
})
31+
.try_encode()
32+
.unwrap(),
3433
);
3534
}
3635

@@ -41,9 +40,9 @@ mod serde {
4140
let cm = ClusterMap::default();
4241

4342
for any in pv {
44-
let c = quilkin::net::xds::Resource::try_from(any).unwrap();
43+
let c = quilkin::xds::Resource::try_decode(any).unwrap();
4544

46-
let quilkin::net::xds::Resource::Cluster(cluster) = c else {
45+
let quilkin::xds::Resource::Cluster(cluster) = c else {
4746
unreachable!()
4847
};
4948
cm.insert(

benches/misc.rs

+27-46
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
#![cfg(target_pointer_width = "99")]
1+
#![cfg(target_pointer_width = "64")]
22

33
use divan::Bencher;
44
use prost_types::{value::Kind, Value};
5-
use quilkin::net::cluster::proto::Endpoint as ProtoEndpoint;
5+
use rand::SeedableRng;
6+
7+
use quilkin::{net::cluster::proto::Endpoint as ProtoEndpoint, xds::Resource};
68

79
mod shared;
810

@@ -146,16 +148,13 @@ trait GenResource: Default {
146148
fn generate(&mut self, slim: bool) -> prost_types::Any;
147149
}
148150

149-
use quilkin::net::xds::{Resource, ResourceType};
150-
use rand::SeedableRng;
151-
152151
#[derive(Default)]
153152
struct Listener {
154153
_counter: usize,
155154
}
156155

157156
impl GenResource for Listener {
158-
fn generate(&mut self, slim: bool) -> prost_types::Any {
157+
fn generate(&mut self, _slim: bool) -> prost_types::Any {
159158
use quilkin::filters::{self, StaticFilter};
160159
let filters = [
161160
quilkin::config::Filter {
@@ -186,32 +185,17 @@ impl GenResource for Listener {
186185
},
187186
];
188187

189-
if slim {
190-
ResourceType::FilterChain.encode_to_any(&quilkin::net::cluster::proto::FilterChain {
191-
filters: filters
192-
.into_iter()
193-
.map(|f| quilkin::net::cluster::proto::Filter {
194-
name: f.name,
195-
label: f.label,
196-
config: f.config.map(|c| c.to_string()),
197-
})
198-
.collect(),
199-
})
200-
} else {
201-
ResourceType::Listener.encode_to_any(&quilkin::net::xds::listener::Listener {
202-
filter_chains: vec![
203-
quilkin::generated::envoy::config::listener::v3::FilterChain {
204-
filters: filters
205-
.into_iter()
206-
.map(TryFrom::try_from)
207-
.collect::<Result<_, quilkin::filters::CreationError>>()
208-
.unwrap(),
209-
..Default::default()
210-
},
211-
],
212-
..Default::default()
213-
})
214-
}
188+
Resource::FilterChain(quilkin::net::cluster::proto::FilterChain {
189+
filters: filters
190+
.into_iter()
191+
.map(|f| quilkin::net::cluster::proto::Filter {
192+
name: f.name,
193+
label: f.label,
194+
config: f.config.map(|c| c.to_string()),
195+
})
196+
.collect(),
197+
})
198+
.try_encode()
215199
.unwrap()
216200
}
217201
}
@@ -242,28 +226,25 @@ impl GenResource for Cluster {
242226
.collect(),
243227
};
244228

245-
ResourceType::Cluster.encode_to_any(&msg).unwrap()
229+
Resource::Cluster(msg).try_encode().unwrap()
246230
}
247231
}
248232

249233
// From Config::apply
250234
fn deserialize(a: prost_types::Any) {
251-
match Resource::try_from(a).unwrap() {
252-
Resource::Listener(mut listener) => {
253-
let chain: quilkin::filters::FilterChain = if listener.filter_chains.is_empty() {
235+
match Resource::try_decode(a).unwrap() {
236+
Resource::Listener(_) => {
237+
todo!()
238+
}
239+
Resource::FilterChain(fc) => {
240+
let chain: quilkin::filters::FilterChain = if fc.filters.is_empty() {
254241
Default::default()
255242
} else {
256-
quilkin::filters::FilterChain::try_create_fallible(
257-
listener.filter_chains.swap_remove(0).filters,
258-
)
259-
.unwrap()
243+
quilkin::filters::FilterChain::try_create_fallible(fc.filters).unwrap()
260244
};
261245

262246
drop(chain);
263247
}
264-
Resource::FilterChain(_fc) => {
265-
unimplemented!("should not be used")
266-
}
267248
Resource::Datacenter(dc) => {
268249
let _host: std::net::IpAddr = dc.host.parse().unwrap();
269250
let _dc = quilkin::config::Datacenter {
@@ -285,9 +266,9 @@ fn deserialize(a: prost_types::Any) {
285266
}
286267

287268
fn deserialize_faster(a: prost_types::Any) {
288-
match Resource::try_from(a).unwrap() {
289-
Resource::Listener(_listener) => {
290-
unimplemented!("should not be used");
269+
match Resource::try_decode(a).unwrap() {
270+
Resource::Listener(_) => {
271+
unimplemented!()
291272
}
292273
Resource::FilterChain(fc) => {
293274
quilkin::filters::FilterChain::try_create_fallible(fc.filters).unwrap();

rust-toolchain.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
# limitations under the License.
1414

1515
[toolchain]
16-
channel = "1.77.1"
16+
channel = "1.81.0"
1717
components = ["rustfmt", "clippy"]

src/config/providers/k8s/agones.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -639,11 +639,7 @@ impl ::kube::core::crd::v1::CustomResourceExt for Fleet {
639639
> = ::serde_json::from_str("[ ]").expect("valid printer column json");
640640
let scale: Option<
641641
::k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::CustomResourceSubresourceScale,
642-
> = if "".is_empty() {
643-
None
644-
} else {
645-
::serde_json::from_str("").expect("valid scale subresource json")
646-
};
642+
> = None;
647643
let categories: Vec<String> = ::serde_json::from_str("[]").expect("valid categories");
648644
let shorts: Vec<String> = ::serde_json::from_str("[]").expect("valid shortnames");
649645
let subres = if true {

src/filters/factory.rs

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ pub trait FilterFactory: Sync + Send {
7272
/// - `module`: The rust module name containing the filter item
7373
/// - `version`: The filter's version.
7474
/// - `item-name`: The name of the rust item (e.g enum, struct) implementing the filter.
75+
///
7576
/// For example the `v1alpha1` version of the debug filter has the name:
7677
/// `quilkin.filters.debug_filter.v1alpha1.Debug`
7778
fn name(&self) -> &'static str;

src/filters/local_rate_limit.rs

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const SESSION_EXPIRY_POLL_INTERVAL: Duration = Duration::from_secs(60);
3939
/// - A counter that tracks how many packets we've processed within a time window.
4040
/// - A timestamp that stores the time we last reset the counter. It tracks
4141
/// the start of the time window.
42+
///
4243
/// This allows us to have a simpler implementation for calculating token
4344
/// exhaustion without needing a write lock in the common case. The downside
4445
/// however is that since we're relying on two independent atomics, there is

src/metrics.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ pub(crate) fn bytes_total(direction: Direction, asn: &AsnInfo) -> IntCounter {
165165
.unwrap()
166166
});
167167

168-
BYTES_TOTAL.with_label_values(&[direction.label(), asn.asn_str(), &asn.prefix])
168+
BYTES_TOTAL.with_label_values(&[direction.label(), asn.asn_str(), asn.prefix])
169169
}
170170

171171
pub(crate) fn errors_total(direction: Direction, display: &str, asn: &AsnInfo) -> IntCounter {
@@ -181,7 +181,7 @@ pub(crate) fn errors_total(direction: Direction, display: &str, asn: &AsnInfo) -
181181
.unwrap()
182182
});
183183

184-
ERRORS_TOTAL.with_label_values(&[direction.label(), display, asn.asn_str(), &asn.prefix])
184+
ERRORS_TOTAL.with_label_values(&[direction.label(), display, asn.asn_str(), asn.prefix])
185185
}
186186

187187
pub(crate) fn packet_jitter(direction: Direction, asn: &AsnInfo) -> IntGauge {
@@ -197,7 +197,7 @@ pub(crate) fn packet_jitter(direction: Direction, asn: &AsnInfo) -> IntGauge {
197197
.unwrap()
198198
});
199199

200-
PACKET_JITTER.with_label_values(&[direction.label(), asn.asn_str(), &asn.prefix])
200+
PACKET_JITTER.with_label_values(&[direction.label(), asn.asn_str(), asn.prefix])
201201
}
202202

203203
pub(crate) fn packets_total(direction: Direction, asn: &AsnInfo) -> IntCounter {
@@ -213,7 +213,7 @@ pub(crate) fn packets_total(direction: Direction, asn: &AsnInfo) -> IntCounter {
213213
.unwrap()
214214
});
215215

216-
PACKETS_TOTAL.with_label_values(&[direction.label(), asn.asn_str(), &asn.prefix])
216+
PACKETS_TOTAL.with_label_values(&[direction.label(), asn.asn_str(), asn.prefix])
217217
}
218218

219219
pub(crate) fn packets_dropped_total(
@@ -233,7 +233,7 @@ pub(crate) fn packets_dropped_total(
233233
.unwrap()
234234
});
235235

236-
PACKETS_DROPPED.with_label_values(&[direction.label(), source, asn.asn_str(), &asn.prefix])
236+
PACKETS_DROPPED.with_label_values(&[direction.label(), source, asn.asn_str(), asn.prefix])
237237
}
238238

239239
/// Create a generic metrics options.

0 commit comments

Comments
 (0)