You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/004-add-client-server/tasks.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@
32
32
-[X] T009 Add `KVCommand.Watch(key: String)` in `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/package.scala`; define watch semantics including initial snapshot (return current value immediately) and idempotency (duplicate watch has no effect).
33
33
-[X] T010 Update `KVStateMachine` at `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/KVStateMachine.scala` to manage subscriptions in `HMap` per spec: add schema entries for (a) key → Set[SessionId], (b) sessionId → Set[key]; register on watch; remove in `handleSessionExpired`; in `applyCommand(Set)`, after updating state, fan out `KVServerRequest.Notification` to all sessions subscribed to that key.
34
34
-[X] T011 Update scodec codecs in `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/package.scala` and `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/protocol/KVServerRequest.scala` to cover new command/response/server-request types.
35
-
-[] T012 Create `Node` skeleton at `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/node/Node.scala` with constructor wiring (server, raft core, state machine) and `run` method signature; no logic yet.
35
+
-[X] T012 Create `Node` skeleton at `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/node/Node.scala` with constructor wiring (server, raft core, state machine) and `run` method signature; no logic yet.
36
36
-[X] T012 Create `Node` skeleton at `/Users/somdoron/git/zio-raft/kvstore/src/main/scala/zio/kvstore/node/Node.scala` with constructor wiring (server, raft core, state machine) and `run` method signature; no logic yet.
37
37
-[X] T013 Implement `Node` raft actions processing stream: consume `RaftServer.raftActions`, map to `SessionCommand`, call state machine, and based on results publish via `RaftServer.sendClientResponse`, `sendServerRequest`, `sendRequestError`, or `confirmSessionCreation`.
38
38
-[X] T014 Implement `Node` 10s retry stream: periodically check `hasPendingRequests` (dirty read) and when true initiate `SessionCommand.GetRequestsForRetry`; publish resulting actions via the same `RaftServer` methods.
0 commit comments