hydro_test/tutorials/
single_client_counter_buggy.rs1use hydro_lang::prelude::*;
2
3pub struct CounterServer;
4
5pub fn single_client_counter_service_buggy<'a>(
6 increment_requests: Stream<(), Process<'a, CounterServer>>,
7 get_requests: Stream<(), Process<'a, CounterServer>>,
8) -> (
9 Stream<(), Process<'a, CounterServer>>, Stream<usize, Process<'a, CounterServer>>, ) {
12 let current_count = increment_requests.clone().count();
13 let increment_ack = increment_requests;
14
15 let get_response = sliced! {
16 let request_batch = use(get_requests, nondet!());
17 let count_snapshot = use(current_count, nondet!());
18
19 request_batch.cross_singleton(count_snapshot).map(q!(|(_, count)| count))
20 };
21
22 (increment_ack, get_response)
23}