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

Function streaming_partial_then_final

nodedb/src/control/request_tracker.rs:168–186  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

166
167 #[tokio::test]
168 async fn streaming_partial_then_final() {
169 let tracker = RequestTracker::new();
170 let mut rx = tracker.register(RequestId::new(10));
171
172 assert!(tracker.complete(make_partial(10, "chunk1")));
173 assert_eq!(tracker.in_flight(), 1);
174 assert!(tracker.complete(make_partial(10, "chunk2")));
175 assert_eq!(tracker.in_flight(), 1);
176
177 assert!(tracker.complete(make_response(10)));
178 assert_eq!(tracker.in_flight(), 0);
179
180 let r1 = rx.recv().await.unwrap();
181 assert!(r1.partial);
182 let r2 = rx.recv().await.unwrap();
183 assert!(r2.partial);
184 let r3 = rx.recv().await.unwrap();
185 assert!(!r3.partial);
186 }
187
188 #[test]
189 fn full_channel_signals_backpressure() {

Callers

nothing calls this directly

Calls 2

registerMethod · 0.45
recvMethod · 0.45

Tested by

no test coverage detected