Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
- type Revision = Integer
- data ServerState doc op = ServerState Revision doc [op]
- initialServerState :: doc -> ServerState doc op
- applyOperation :: OTSystem doc op => ServerState doc op -> Revision -> op -> Either String (op, ServerState doc op)
Documentation
data ServerState doc op Source
The server keeps the current revision number and a list of previous operations to transform incoming operations against.
ServerState Revision doc [op] |
initialServerState :: doc -> ServerState doc op Source
:: OTSystem doc op | |
=> ServerState doc op | |
-> Revision | The latest operation that the client has received from the server when it sent the operation. |
-> op | The operation received from the client. |
-> Either String (op, ServerState doc op) | The operation to broadcast to all connected clients (except the client which has created the operation; that client must be sent an acknowledgement) and the new state (or an error). |
Handles incoming operations.