Copyright | (c) Anton Gushcha, 2015-2016 |
---|---|
License | BSD3 |
Maintainer | ncrashed@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- data SyncState s = SyncState {
- syncNextState :: !s
- syncIdMap :: !(HashMap HashableTypeRep Word64)
- syncIdMapRev :: !(HashMap Word64 HashableTypeRep)
- syncNextId :: !Word64
- syncScheduledMessages :: !(HashMap Peer (Seq (String, ChannelID, Word64 -> Message)))
- syncLogging :: !Bool
- syncRole :: !SyncRole
- data SyncRole
- class ActorMessage i => NetworkMessage i where
- type NetworkMessageType i :: *
- data SyncServiceMsg
- emptySyncState :: s -> SyncState s
Documentation
Inner state of sync module
s
- - State of next module, the states are chained via nesting.
SyncState | |
|
Defines behavior in synchronization for actor ids
SyncMaster | Registers types of actors |
SyncSlave | Always ask for ids from other nodes |
class ActorMessage i => NetworkMessage i Source #
Extension for actor message, messages that are sent to remote host
type NetworkMessageType i :: * Source #
Corresponding message payload for i
identifier, usually ADT
data SyncServiceMsg Source #
Internal service message for synchronizing ids of actors
SyncServiceRequestId !String | Request id of actor with specified name |
SyncServiceResponseId !String !Word64 | Response with actor id and name |
SyncServiceResponseNotRegistered !String | Response that given actor is not found |
Generic SyncServiceMsg Source # | |
Serialize SyncServiceMsg Source # | |
type Rep SyncServiceMsg Source # | |
emptySyncState :: s -> SyncState s Source #
Make empty sync state