Skip to content

Commit 07e9c38

Browse files
feat(s2n-quic-dc): expose inner context on metrics Subscriber (#2685)
This lets applications wrapping their own Subscriber access the context via query_event_context on Connection.
1 parent 2d13768 commit 07e9c38

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

dc/s2n-quic-dc/src/event/generated/metrics.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ pub struct Context<R: Recorder> {
4646
stream_read_socket_errored: AtomicU64,
4747
connection_closed: AtomicU64,
4848
}
49+
impl<R: Recorder> Context<R> {
50+
pub fn inner(&self) -> &R {
51+
&self.recorder
52+
}
53+
pub fn inner_mut(&mut self) -> &mut R {
54+
&mut self.recorder
55+
}
56+
}
4957
impl<S: event::Subscriber> event::Subscriber for Subscriber<S>
5058
where
5159
S::ConnectionContext: Recorder,

quic/s2n-quic-core/src/event/generated/metrics.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@ pub struct Context<R: Recorder> {
7474
dc_path_created: u64,
7575
connection_closed: u64,
7676
}
77+
impl<R: Recorder> Context<R> {
78+
pub fn inner(&self) -> &R {
79+
&self.recorder
80+
}
81+
pub fn inner_mut(&mut self) -> &mut R {
82+
&mut self.recorder
83+
}
84+
}
7785
impl<S: event::Subscriber> event::Subscriber for Subscriber<S>
7886
where
7987
S::ConnectionContext: Recorder,

quic/s2n-quic-events/src/output/metrics.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,16 @@ pub fn emit(output: &Output, files: &[File]) -> TokenStream {
9494
#fields
9595
}
9696

97+
impl<R: Recorder> Context<R> {
98+
pub fn inner(&self) -> &R {
99+
&self.recorder
100+
}
101+
102+
pub fn inner_mut(&mut self) -> &mut R {
103+
&mut self.recorder
104+
}
105+
}
106+
97107
impl<S: event::Subscriber> event::Subscriber for Subscriber<S>
98108
where S::ConnectionContext: Recorder {
99109
type ConnectionContext = Context<S::ConnectionContext>;

0 commit comments

Comments
 (0)