pub enum RollingPacketCaptureRequest {
Detach {
name: String,
responder: RollingPacketCaptureDetachResponder,
},
StopAndDownload {
channel: ServerEnd<FileMarker>,
control_handle: RollingPacketCaptureControlHandle,
},
Discard {
responder: RollingPacketCaptureDiscardResponder,
},
}Expand description
Rolling packet capture.
Once a rolling packet capture has stopped either because [StopAndDownload]
has been called or the capture stopped for some other reason and the server
has emitted [OnEnded], and there is no client connected to this protocol
for some time, the server discards the contents of the packet capture.
This timeout resets every time a client reconnects to this protocol, and
exists to provide resilience against disconnections.
Variants§
Detach
Detaches the lifetime of this protocol from the underlying packet capture.
After calling Detach, closing the client end no longer results in
the packet capture from being terminated. The passed string names
this packet capture and can be used thereafter to reconnect via
[PacketCaptureProvider.ReconnectRolling]. The protocol is still
detached after reconnecting. This gives the client the option of
ensuring the packet capture is resilient against disconnections.
Only the first call to Detach over the lifetime of the packet
capture (note this is different from the lifetime of this protocol
since it’s possible to disconnect and reconnect) is valid. Subsequent
calls cannot change the name of this capture.
Once this method returns, it is guaranteed that this rolling packet capture is detached.
StopAndDownload
Stop and make this rolling packet capture downloadable.
It is implicit by calling this method that the packet capture is stopped
due to user request, so the [RollingPacketCapture.OnEnded] event is
not emitted.
This method can be called multiple times, including across disconnects: a client can call this method, disconnect, reconnect, and call this method again.
The server discards the contents of the packet capture once this method has been called and there is no client connected to this protocol for some time.
Discard
Discard this rolling packet capture.
Clients should call this method when they have successfully downloaded the packet capture, or if they no longer need it for any reason.
The server closes all readers initialized via [StopAndDownload]
and all future interactions on this protocol are invalid. When this
method returns, it is guaranteed that the packet capture has been
discarded and the usage quota has been released.
Fields
responder: RollingPacketCaptureDiscardResponderImplementations§
Source§impl RollingPacketCaptureRequest
impl RollingPacketCaptureRequest
pub fn into_detach( self, ) -> Option<(String, RollingPacketCaptureDetachResponder)>
pub fn into_stop_and_download( self, ) -> Option<(ServerEnd<FileMarker>, RollingPacketCaptureControlHandle)>
pub fn into_discard(self) -> Option<RollingPacketCaptureDiscardResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL