pub enum WsEvent {
Status(WsStatus),
NewClip {
clip: Box<Clip>,
plaintext: Vec<u8>,
},
ClipDeleted {
clip_id: String,
},
Revoked {
reason: Option<String>,
},
TokenRotated {
token: String,
device_id: Option<String>,
},
KeyExchangeRequested {
device_id: Option<String>,
},
ClipDecryptFailed {
clip_id: String,
reason: DecryptFailReason,
},
}Variants§
Status(WsStatus)
Connection state transitions — emitted on connect, disconnect, retry.
NewClip
New clip received. plaintext is the decrypted body for encrypted
clips (already base64-decoded for binary), or the raw clip.content
when no encryption key was available or encrypted=false.
ClipDeleted
Clip deleted on the relay (e.g., retention sweep, manual delete).
Revoked
The caller’s device was revoked. Future reconnects will 401.
TokenRotated
Server rotated this device’s token. Caller should persist the new token and reconnect with it.
KeyExchangeRequested
Another device asked for a key bundle. Desktop handles the ECDH responder; CLI watchers can ignore.
ClipDecryptFailed
Incoming clip could not be decrypted (missing key or wrong key).
The clip was NOT inserted as plaintext. Callers should surface this
to the user and fire retry_key_bundle.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WsEvent
impl RefUnwindSafe for WsEvent
impl Send for WsEvent
impl Sync for WsEvent
impl Unpin for WsEvent
impl UnsafeUnpin for WsEvent
impl UnwindSafe for WsEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more