MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / send_frame

Method send_frame

nodedb/src/control/array_sync/catchup.rs:226–242  ·  view source on GitHub ↗

Encode `msg` and enqueue to the session's delivery channel. Errors are logged and discarded — the delivery channel's own back-pressure logic drops frames when full.

(
        &self,
        session_id: &str,
        msg_type: SyncMessageType,
        msg: &T,
    )

Source from the content-addressed store, hash-verified

224 /// Errors are logged and discarded — the delivery channel's own
225 /// back-pressure logic drops frames when full.
226 fn send_frame<T: serde::Serialize + zerompk::ToMessagePack>(
227 &self,
228 session_id: &str,
229 msg_type: SyncMessageType,
230 msg: &T,
231 ) {
232 match nodedb_types::sync::wire::SyncFrame::try_encode(msg_type, msg) {
233 Some(frame) => self.delivery.enqueue(session_id, frame.to_bytes()),
234 None => {
235 warn!(
236 session = %session_id,
237 "catchup_server: SyncFrame encode failed for {:?}",
238 msg_type
239 );
240 }
241 }
242 }
243}
244
245// ─── Tests ────────────────────────────────────────────────────────────────────

Callers 2

serveMethod · 0.80
stream_opsMethod · 0.80

Calls 2

enqueueMethod · 0.45
to_bytesMethod · 0.45

Tested by

no test coverage detected