| Copyright | (c) Anton Gushcha, 2015-2016 |
|---|---|
| License | BSD3 |
| Maintainer | ncrashed@gmail.com |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Game.GoreAndAsh.Sync.State
Description
- 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.
Constructors
| SyncState | |
Fields
| |
Defines behavior in synchronization for actor ids
Constructors
| 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
Associated Types
type NetworkMessageType i :: * Source #
Corresponding message payload for i identifier, usually ADT
Instances
data SyncServiceMsg Source #
Internal service message for synchronizing ids of actors
Constructors
| 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 |
Instances
| Generic SyncServiceMsg Source # | |
| Serialize SyncServiceMsg Source # | |
| type Rep SyncServiceMsg Source # | |
emptySyncState :: s -> SyncState s Source #
Make empty sync state