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

Function handle_agg

nodedb-cluster/src/distributed_array/handler.rs:85–103  ·  view source on GitHub ↗
(
    local_vshard_id: u32,
    payload: &[u8],
    executor: &Arc<dyn ArrayLocalExecutor>,
)

Source from the content-addressed store, hash-verified

83}
84
85async fn handle_agg(
86 local_vshard_id: u32,
87 payload: &[u8],
88 executor: &Arc<dyn ArrayLocalExecutor>,
89) -> Result<Vec<u8>> {
90 let req: ArrayShardAggReq =
91 zerompk::from_msgpack(payload).map_err(|e| ClusterError::Codec {
92 detail: format!("ArrayShardAggReq decode: {e}"),
93 })?;
94
95 let partials = executor.exec_agg(&req).await?;
96
97 let resp = ArrayShardAggResp {
98 shard_id: local_vshard_id,
99 partials,
100 truncated_before_horizon: false,
101 };
102 serialise(resp)
103}
104
105async fn handle_put(
106 local_vshard_id: u32,

Callers 1

handle_array_shard_rpcFunction · 0.85

Calls 2

serialiseFunction · 0.85
exec_aggMethod · 0.45

Tested by

no test coverage detected