Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data TransportPacket a Source #
data TransportHeader Source #
Instances
Show TransportHeader Source # | |
Defined in Erebos.Network.Protocol showsPrec :: Int -> TransportHeader -> ShowS # show :: TransportHeader -> String # showList :: [TransportHeader] -> ShowS # |
data TransportHeaderItem Source #
Instances
Show TransportHeaderItem Source # | |
Defined in Erebos.Network.Protocol showsPrec :: Int -> TransportHeaderItem -> ShowS # show :: TransportHeaderItem -> String # showList :: [TransportHeaderItem] -> ShowS # | |
Eq TransportHeaderItem Source # | |
Defined in Erebos.Network.Protocol (==) :: TransportHeaderItem -> TransportHeaderItem -> Bool # (/=) :: TransportHeaderItem -> TransportHeaderItem -> Bool # |
data SecurityRequirement Source #
Instances
Eq SecurityRequirement Source # | |
Defined in Erebos.Network.Protocol (==) :: SecurityRequirement -> SecurityRequirement -> Bool # (/=) :: SecurityRequirement -> SecurityRequirement -> Bool # | |
Ord SecurityRequirement Source # | |
Defined in Erebos.Network.Protocol compare :: SecurityRequirement -> SecurityRequirement -> Ordering # (<) :: SecurityRequirement -> SecurityRequirement -> Bool # (<=) :: SecurityRequirement -> SecurityRequirement -> Bool # (>) :: SecurityRequirement -> SecurityRequirement -> Bool # (>=) :: SecurityRequirement -> SecurityRequirement -> Bool # max :: SecurityRequirement -> SecurityRequirement -> SecurityRequirement # min :: SecurityRequirement -> SecurityRequirement -> SecurityRequirement # |
data WaitingRef Source #
WaitingRef | |
|
wrDigest :: WaitingRef -> RefDigest Source #
data ChannelState Source #
data ControlRequest addr Source #
data ControlMessage addr Source #
NewConnection (Connection addr) (Maybe RefDigest) | |
ReceivedAnnounce addr RefDigest |
erebosNetworkProtocol :: (Eq addr, Ord addr, Show addr) => UnifiedIdentity -> (String -> STM ()) -> SymFlow (addr, ByteString) -> Flow (ControlRequest addr) (ControlMessage addr) -> IO () Source #
data Connection addr Source #
Instances
Eq (Connection addr) Source # | |
Defined in Erebos.Network.Protocol (==) :: Connection addr -> Connection addr -> Bool # (/=) :: Connection addr -> Connection addr -> Bool # |
connAddress :: Connection addr -> addr Source #
connData :: Connection addr -> Flow (Maybe (Bool, TransportPacket PartialObject)) (SecurityRequirement, TransportPacket Ref, [TransportHeaderItem]) Source #
connGetChannel :: Connection addr -> STM ChannelState Source #
connSetChannel :: Connection addr -> ChannelState -> STM () Source #
connClose :: Connection addr -> STM () Source #
type RawStreamReader = Flow StreamPacket Void Source #
type RawStreamWriter = Flow Void StreamPacket Source #
connAddWriteStream :: Connection addr -> STM (Either String (TransportHeaderItem, RawStreamWriter, IO ())) Source #
connAddReadStream :: Connection addr -> Word8 -> STM RawStreamReader Source #
readStreamToList :: RawStreamReader -> IO (Word64, [(Word64, ByteString)]) Source #
readObjectsFromStream :: PartialStorage -> RawStreamReader -> IO (Except String [PartialObject]) Source #
writeByteStringToStream :: RawStreamWriter -> ByteString -> IO () Source #
writeFlowBulk :: Flow r w -> [w] -> STM () Source #
readFlowIO :: Flow r w -> IO r Source #
writeFlowIO :: Flow r w -> w -> IO () Source #