bf-haskell-0.1.0.0: Betfair Exchange API

Copyright(C) 2020 Martins Erts
LicenseMIT
MaintainerMartins Erts <martins.erts@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

BfHaskell.StreamingAPI.Types

Description

 
Synopsis

Documentation

crlf :: ByteString Source #

Stream message delimiter

data StreamCache c k v Source #

Cache type used by market and order data caching

Instances
(Show k, Show v, Show c) => Show (StreamCache c k v) Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Methods

showsPrec :: Int -> StreamCache c k v -> ShowS #

show :: StreamCache c k v -> String #

showList :: [StreamCache c k v] -> ShowS #

Default (StreamCache c k v) Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Methods

def :: StreamCache c k v

scSubscriptionId :: forall c k v. Lens' (StreamCache c k v) Int Source #

scClk :: forall c k v. Lens' (StreamCache c k v) (Maybe Text) Source #

scInitialClk :: forall c k v. Lens' (StreamCache c k v) (Maybe Text) Source #

scPt :: forall c k v. Lens' (StreamCache c k v) (Maybe Integer) Source #

scHeartbeatMs :: forall c k v. Lens' (StreamCache c k v) (Maybe Integer) Source #

scConflateMs :: forall c k v. Lens' (StreamCache c k v) (Maybe Integer) Source #

scStatus :: forall c k v. Lens' (StreamCache c k v) (Maybe Int) Source #

scStore :: forall c k v k v. Lens (StreamCache c k v) (StreamCache c k v) (Map k v) (Map k v) Source #

scSegments :: forall c k v c. Lens (StreamCache c k v) (StreamCache c k v) (Seq [c]) (Seq [c]) Source #

class StreamMessageParser msg c | msg -> c where Source #

Describes market and order data parser capabilities

data StreamingState Source #

State used internally by streaming API

Constructors

StreamingState 

Fields

Instances
Default StreamingState Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

data StreamingMessage Source #

Streaming update message to be received by client

Constructors

SMConnectionStateChanged SMConnectionState

Connection state changed

SMMarketUpdate [MarketId]

Market data updated

SMOrderUpdate [MarketId]

Order data updated

data MarketDetails Source #

Market details

Constructors

MarketDetails 

Fields

Instances
Default MarketDetails Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Methods

def :: MarketDetails

data MarketRunner Source #

Market runner

Constructors

MarketRunner 

Fields

Instances
Show MarketRunner Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Default MarketRunner Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Methods

def :: MarketRunner

data OrderRunner Source #

Order runner

Constructors

OrderRunner 

Fields

Instances
Show OrderRunner Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Default OrderRunner Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

Methods

def :: OrderRunner

data StreamingHandler m a where Source #

Streaming DSL

Constructors

GetNextStreamMessage :: StreamingHandler m StreamingMessage

Gets next message from queue. Blocks if there are no messages.

TryGetNextStreamMessage :: StreamingHandler m (Maybe StreamingMessage)

Tries to get next message from queue. Returns Nothing, if queue is empty.

SubscribeToMarkets :: MarketFilter -> StreamingHandler m ()

Subscribes to market stream specified by MarketFilter. There is only one one current market subscription. Following calls overwrite previous subscriptions.

GetMarketCache :: StreamingHandler m (Map MarketId MarketDetails)

Retrieves market cache.

SubscribeToOrders :: StreamingHandler m ()

Subscribes to order stream.

GetOrderCache :: StreamingHandler m (Map MarketId OrderRunnerTable)

Retrieves order cache.

Instances
type DefiningModule (StreamingHandler :: k -> Type -> Type) Source # 
Instance details

Defined in BfHaskell.StreamingAPI.Types

type DefiningModule (StreamingHandler :: k -> Type -> Type) = "BfHaskell.StreamingAPI.Types"

getNextStreamMessage :: Member StreamingHandler r => Sem r StreamingMessage Source #

Gets next message from queue. Blocks if there are no messages.

tryGetNextStreamMessage :: Member StreamingHandler r => Sem r (Maybe StreamingMessage) Source #

Tries to get next message from queue. Returns Nothing, if queue is empty.

subscribeToMarkets :: Member StreamingHandler r => MarketFilter -> Sem r () Source #

Subscribes to market stream specified by MarketFilter. There is only one one current market subscription. Following calls overwrite previous subscriptions.

getMarketCache :: Member StreamingHandler r => Sem r (Map MarketId MarketDetails) Source #

Retrieves market cache.

subscribeToOrders :: Member StreamingHandler r => Sem r () Source #

Subscribes to order stream.

getOrderCache :: Member StreamingHandler r => Sem r (Map MarketId OrderRunnerTable) Source #

Retrieves order cache.

data StreamingConnectionInfo Source #

Streaming API connection details

Constructors

StreamingConnectionInfo 

Fields