MarketFactory 3.14.0 C# API
MFBaseClient Class Reference

An API client, which processes a single network connection. More...

Inheritance diagram for MFBaseClient:
MFAdmin MFClient MFMarketMaker

Public Member Functions

 MFBaseClient (string _username, string _password, string _hostname1, int _port1)
 Create a new client object. More...
 
 MFBaseClient (string _username, string _password, string _hostname1, int _port1, string _hostname2, int _port2)
 Create a new client object (with failover). More...
 
APIResult close ()
 Close the connection. More...
 
APIResult connect ()
 Connect to the first available server with user credentials. More...
 
APIFeed getFeedByID (int id)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIFeed getFeedByName (string name)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIFeed [] getFeeds ()
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
string getHostname ()
 Returns the primary/secondary server hostname (whichever one is being used). More...
 
Queue< PingTime > getLastPingTimes ()
 
APIMarket getMarketByID (APIFeed feed, int marketID)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIMarket getMarketByName (APIFeed feed, string name)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
int getPort ()
 Returns the primary/secondary server port (whichever one is being used). More...
 
int getSequenceID (int feedID)
 Get the last received sequenceID after successful subscription. More...
 
string getSignature ()
 Get protocol api signature. More...
 
bool isConnected ()
 Return true if the _channel is _connected. More...
 
bool isRunning ()
 Returns true if the client is currently dispatching events (i.e., you called run()). More...
 
bool isStopRequested ()
 
APIResult join ()
 Block until the client has exited the dispatch loop. More...
 
void log (string message)
 Logs a debug message into the Whisperer server _log file. More...
 
void log (string message, LogLevel level)
 
APIResult replay (int feedID, int fromSequenceID, int toSequenceID)
 Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1]. More...
 
void setDebug (bool debug)
 
void setStickySubscriptions (bool sticky)
 Enable/Disable sticky subscriptions. More...
 
void setStickySubscriptions (bool sticky, bool clearSubscriptionsOnStop)
 
void setUseHeartbeat (bool use)
 
APIResult stop ()
 Request to stop the event dispatch loop, does not disconnect the client from the server. More...
 
void test (APITest test)
 Internal testing function. More...
 
APIResult unsubscribeAll ()
 Unsubscribe all market data and trading subscriptions. More...
 

Protected Member Functions

APIResult cancelAll (int feedID, string cxlID)
 Cancel all the orders on a feed. More...
 
APIResult cancelAll (string cxlID)
 Cancel all the orders, on all feeds. More...
 
APIResult cancelOrder (string cxlID, string clOrdID)
 Cancel a previously placed order by client order id ('clOrdID'). Return false if the order cannot be found locally, i.e., if the 'clOrdID' does not correspond to any previously placed order on this client interface. More...
 
APIResult cancelOrder (string cxlID, long orderID)
 Cancel a previously placed order by internal 'orderID'. Return false if the internal 'orderID' could not be provided. More...
 
APIResult cancelOrder (string cxlID, long orderID, string clOrdID)
 Cancel a previously placed order by providing both internal 'orderID' and clOrdID. APIResult.INVALID_ORDERID if the internal 'orderID' could not be provided. More...
 
virtual APIResult connectOne (String host, int port)
 
KeyValuePair< APIResult, long > modifyOrder (string clOrdID, string clNewID, MFFloat amount, MFFloat price, OrderParameters parameters=null)
 Submit modification to an existing order. More...
 
virtual void onBatchComplete (int batchDefID)
 
virtual void onConnect ()
 
virtual void onDateRollover (DateRollover dateRollover)
 
virtual void onDisconnect ()
 
virtual void onDropCopy (DropCopy dropCopy)
 
virtual void onEventReport (EventReport eventReport)
 
virtual void onHeartbeat (Heartbeat heartbeat)
 
virtual void onJsonFromServer (JsonFromServer msg)
 
virtual void onLockResponse (LockResponse lockResponse)
 
virtual void onMarketData (MarketView marketData)
 
virtual void onMassQuoteAck (MassQuoteAck msg)
 
virtual void onNewOrder (NewOrder msg)
 
virtual void onOrderCanceled (OrderCanceled orderCanceled)
 
virtual void onOrderCancelRejected (OrderCancelRejected orderCancelRejected)
 
virtual void onOrderDone (OrderDone orderDone)
 
virtual void onOrderReceived (OrderReceived orderReceived)
 
virtual void onOrderRejected (OrderRejected orderRejected)
 
virtual void onOrderSubmitted (OrderSubmitted orderSubmitted)
 
virtual void onOrderTimeout (OrderTimeout msg)
 
virtual void onQuoteRequest (QuoteRequest msg)
 
virtual void onReplayDone (ReplayDone replayDone)
 
virtual void onRiskResponse (RiskResponse riskResponse)
 
virtual void onStart ()
 
virtual void onStop ()
 
virtual void onSubscriptionEvent (SubscriptionEvent subscriptionEvent)
 
virtual void onTradeCapture (TradeCapture tradeCapture)
 
virtual void onTradeCaptureAck (TradeCaptureAck msg)
 
KeyValuePair< APIResult, int > registerMarketComb (int feedID, int[] marketIds)
 
APIResult requestSnapshot (int feedID, int marketID)
 
APIResult run (MFBaseHandler _handler, bool loop)
 
APIResult send (IMessage msg)
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, OrderType ordType, TimeInForce tif)
 Submit an order. More...
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, OrderType ordType, TimeInForce tif)
 Submit an order without minAmount (kept for backward compatibility). More...
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, MFFloat minFillAmt, OrderType ordType, TimeInForce tif, List< KeyValuePair< string, string >> parameters)
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, MFFloat minFillAmt, OrderType ordType, TimeInForce tif, OrderParameters parameters=null)
 Submits the order. Use an OrderParametersBuilder to construct a reusable OrderParameters object. Offers better performance if the you want to reuse the same order parameters for multiple submitOrder calls. More...
 
APIResult subscribe (APIType apiType, int feedID, int marketID, String clSubID)
 
APIResult subscribeAllMD ()
 Subscribe to all the market data feeds. More...
 
APIResult subscribeMD (int feedID, int marketID, String clSubID)
 Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on. The client subscription ID allows one-to-one message matching. More...
 
APIResult subscribeMD (int feedID, int marketID)
 
APIResult subscribeOF (int feedID, String clSubID)
 Subscribe to trading for a specific feed. More...
 
APIResult subscribeOF (int feedID)
 Subscribe to trading for a specific feed. More...
 
APIResult unregisterMarketComb (int batchDefID)
 
APIResult unsubscribe (APIType apiType, int feedID, int marketID, String clSubID)
 
APIResult unsubscribeMD (int feedID, int marketID, String clSubID)
 Unsubscribe to market data updates for a specific feed. More...
 
APIResult unsubscribeMD (int feedID, int marketID)
 Unsubscribe to market data updates for a specific feed. More...
 
APIResult unsubscribeOF (int feedID, String clSubID)
 Unsubscribe to trading for a specific feed. More...
 
APIResult unsubscribeOF (int feedID)
 Unsubscribe to trading for a specific feed. More...
 

Protected Attributes

string _hostname1
 
string _hostname2
 
Logger _log = Logger.getLogger("com.marketfactory.api")
 
string _password
 
int _port1
 
int _port2
 
string _username
 

Detailed Description

An API client, which processes a single network connection.

There may be more than one client instance, one for each network connection. A client dispatches callbacks on a _handler interface which the client implements.

See also
MFHandler.

Constructor & Destructor Documentation

◆ MFBaseClient() [1/2]

MFBaseClient ( string  _username,
string  _password,
string  _hostname1,
int  _port1 
)

Create a new client object.

A new client still needs to be connected (see connect()).

◆ MFBaseClient() [2/2]

MFBaseClient ( string  _username,
string  _password,
string  _hostname1,
int  _port1,
string  _hostname2,
int  _port2 
)

Create a new client object (with failover).

A new client still needs to be connected (see connect()).

Member Function Documentation

◆ setUseHeartbeat()

void setUseHeartbeat ( bool  use)

◆ setDebug()

void setDebug ( bool  debug)

◆ setStickySubscriptions() [1/2]

void setStickySubscriptions ( bool  sticky)

Enable/Disable sticky subscriptions.

Set clearSubscriptionsOnStop=false if subscriptions should persist on disconnect/stop/start.

◆ setStickySubscriptions() [2/2]

void setStickySubscriptions ( bool  sticky,
bool  clearSubscriptionsOnStop 
)

◆ isConnected()

bool isConnected ( )

Return true if the _channel is _connected.

◆ connect()

APIResult connect ( )

Connect to the first available server with user credentials.

Returns 0 if the connection attempt succeeded; returns a negative number if on failure.

Note: this should not be invoked by _handler.

◆ connectOne()

virtual APIResult connectOne ( String  host,
int  port 
)
protectedvirtual

Reimplemented in MFAdmin.

◆ close()

APIResult close ( )

Close the connection.

(This can only be called this when you're not dispatching.)

Note: this should not be invoked by _handler.

◆ isRunning()

bool isRunning ( )

Returns true if the client is currently dispatching events (i.e., you called run()).

◆ stop()

APIResult stop ( )

Request to stop the event dispatch loop, does not disconnect the client from the server.

◆ isStopRequested()

bool isStopRequested ( )

◆ join()

APIResult join ( )

Block until the client has exited the dispatch loop.

Note: this should not be invoked by _handler.

◆ run()

APIResult run ( MFBaseHandler  _handler,
bool  loop 
)
protected

_log.info("Attempting reconnect...");

◆ send()

APIResult send ( IMessage  msg)
protected

◆ getSignature()

string getSignature ( )

Get protocol api signature.

◆ getSequenceID()

int getSequenceID ( int  feedID)

Get the last received sequenceID after successful subscription.

Returns -2 if not subscribed. Returns -1 if there are no OF messages for the client on the feed.

◆ getFeeds()

APIFeed [] getFeeds ( )

After a successful connection is established, you may access the server's list of _feeds, markets.

If you have not yet _connected to the server this will return empty.

◆ getFeedByName()

APIFeed getFeedByName ( string  name)

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the feed of a given name if it exists and NULL if it does not. (this class maintains ownership to the object so do not delete it).

Returns
a pointer to the Feed of the given name or NULL if it does not exist.

◆ getFeedByID()

APIFeed getFeedByID ( int  id)

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the feed of a given id if it exists and NULL if it does not. (this class maintains ownership to the object so do not delete it).

Returns
a pointer to the Feed of the given id or NULL if it does not exist.

◆ getMarketByName()

APIMarket getMarketByName ( APIFeed  feed,
string  name 
)

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the market with a given name within the specified feed if such market exists or NULL if there is no market with the same name.

Returns
a pointer to the Market with the given name within the given feed or NULL if it does not exist.

◆ getMarketByID()

APIMarket getMarketByID ( APIFeed  feed,
int  marketID 
)

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the market with a given id within the specified feed if such market exists or NULL if there is no market with the same id.

Returns
a pointer to the Market with the given market id within the given feed or NULL if it does not exist.

◆ getHostname()

string getHostname ( )

Returns the primary/secondary server hostname (whichever one is being used).

Does not indicate whether a connection is in progress or successfully established.

◆ getPort()

int getPort ( )

Returns the primary/secondary server port (whichever one is being used).

Does not indicate whether a connection is in progress or successfully established.

◆ getLastPingTimes()

Queue<PingTime> getLastPingTimes ( )

◆ replay()

APIResult replay ( int  feedID,
int  fromSequenceID,
int  toSequenceID 
)

Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1].

Only open-ended requests are accepted by the server.

Returns
0 if the replay request has been sent, -1 on error.

◆ subscribeMD() [1/2]

APIResult subscribeMD ( int  feedID,
int  marketID,
String  clSubID 
)
protected

Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on. The client subscription ID allows one-to-one message matching.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

summary> Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeMD() [2/2]

APIResult subscribeMD ( int  feedID,
int  marketID 
)
protected

◆ subscribeOF() [1/2]

APIResult subscribeOF ( int  feedID,
String  clSubID 
)
protected

Subscribe to trading for a specific feed.

onSubscriptionEvent() will be called to notify that the order gateway is ready. If the subscription is valid, it will be possible to submit and cancel orders and receive trading events.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeOF() [2/2]

APIResult subscribeOF ( int  feedID)
protected

Subscribe to trading for a specific feed.

onSubscriptionEvent() will be called to notify that the order gateway is ready. If the subscription is valid, it will be possible to submit and cancel orders and receive trading events.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeAllMD()

APIResult subscribeAllMD ( )
protected

Subscribe to all the market data feeds.

This is intended as a test utility; ideally you control which feeds and markets you connect to.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeMD() [1/2]

APIResult unsubscribeMD ( int  feedID,
int  marketID,
String  clSubID 
)
protected

Unsubscribe to market data updates for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeMD() [2/2]

APIResult unsubscribeMD ( int  feedID,
int  marketID 
)
protected

Unsubscribe to market data updates for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeOF() [1/2]

APIResult unsubscribeOF ( int  feedID,
String  clSubID 
)
protected

Unsubscribe to trading for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeOF() [2/2]

APIResult unsubscribeOF ( int  feedID)
protected

Unsubscribe to trading for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribe()

APIResult subscribe ( APIType  apiType,
int  feedID,
int  marketID,
String  clSubID 
)
protected

◆ unsubscribe()

APIResult unsubscribe ( APIType  apiType,
int  feedID,
int  marketID,
String  clSubID 
)
protected

◆ unsubscribeAll()

APIResult unsubscribeAll ( )

Unsubscribe all market data and trading subscriptions.

Call this if you want to stop receiving callbacks but don't want to disconnect.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ registerMarketComb()

KeyValuePair<APIResult, int> registerMarketComb ( int  feedID,
int []  marketIds 
)
protected

◆ unregisterMarketComb()

APIResult unregisterMarketComb ( int  batchDefID)
protected

◆ requestSnapshot()

APIResult requestSnapshot ( int  feedID,
int  marketID 
)
protected

◆ submitOrder() [1/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
OrderType  ordType,
TimeInForce  tif 
)
protected

Submit an order.

Returns
-1 if the order could not be placed because it is redundant.

◆ submitOrder() [2/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
OrderType  ordType,
TimeInForce  tif 
)
protected

Submit an order without minAmount (kept for backward compatibility).

Returns
-1 if the order could not be placed because it is redundant.

◆ submitOrder() [3/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
MFFloat  minFillAmt,
OrderType  ordType,
TimeInForce  tif,
List< KeyValuePair< string, string >>  parameters 
)
protected

◆ submitOrder() [4/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
MFFloat  minFillAmt,
OrderType  ordType,
TimeInForce  tif,
OrderParameters  parameters = null 
)
protected

Submits the order. Use an OrderParametersBuilder to construct a reusable OrderParameters object. Offers better performance if the you want to reuse the same order parameters for multiple submitOrder calls.

Returns
APIResult describing the success or failure; and the orderid or 0 if the action failed.
Parameters
clOrdIDclient order identifier.
feedIDFeed identifier.
marketIDmarket identifier.
sideside
amountamount
priceprice
stopPricestop price
maxShowAmtmax show amount
minFillAmtminimum fill amount
ordTypeorder type
tiftime in force
parametersoptional OrderParameters

◆ modifyOrder()

KeyValuePair<APIResult, long> modifyOrder ( string  clOrdID,
string  clNewID,
MFFloat  amount,
MFFloat  price,
OrderParameters  parameters = null 
)
protected

Submit modification to an existing order.

Returns
Pair The first member is APIResult.OK if the order has been sent. The second member is the orderID.

◆ cancelOrder() [1/3]

APIResult cancelOrder ( string  cxlID,
string  clOrdID 
)
protected

Cancel a previously placed order by client order id ('clOrdID'). Return false if the order cannot be found locally, i.e., if the 'clOrdID' does not correspond to any previously placed order on this client interface.

◆ cancelOrder() [2/3]

APIResult cancelOrder ( string  cxlID,
long  orderID 
)
protected

Cancel a previously placed order by internal 'orderID'. Return false if the internal 'orderID' could not be provided.

◆ cancelOrder() [3/3]

APIResult cancelOrder ( string  cxlID,
long  orderID,
string  clOrdID 
)
protected

Cancel a previously placed order by providing both internal 'orderID' and clOrdID. APIResult.INVALID_ORDERID if the internal 'orderID' could not be provided.

◆ cancelAll() [1/2]

APIResult cancelAll ( int  feedID,
string  cxlID 
)
protected

Cancel all the orders on a feed.

◆ cancelAll() [2/2]

APIResult cancelAll ( string  cxlID)
protected

Cancel all the orders, on all feeds.

◆ onStart()

virtual void onStart ( )
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onStop()

virtual void onStop ( )
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onDisconnect()

virtual void onDisconnect ( )
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onConnect()

virtual void onConnect ( )
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onHeartbeat()

virtual void onHeartbeat ( Heartbeat  heartbeat)
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onSubscriptionEvent()

virtual void onSubscriptionEvent ( SubscriptionEvent  subscriptionEvent)
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onMarketData()

virtual void onMarketData ( MarketView  marketData)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onEventReport()

virtual void onEventReport ( EventReport  eventReport)
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onDateRollover()

virtual void onDateRollover ( DateRollover  dateRollover)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onBatchComplete()

virtual void onBatchComplete ( int  batchDefID)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderReceived()

virtual void onOrderReceived ( OrderReceived  orderReceived)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderRejected()

virtual void onOrderRejected ( OrderRejected  orderRejected)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderSubmitted()

virtual void onOrderSubmitted ( OrderSubmitted  orderSubmitted)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderCanceled()

virtual void onOrderCanceled ( OrderCanceled  orderCanceled)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderCancelRejected()

virtual void onOrderCancelRejected ( OrderCancelRejected  orderCancelRejected)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onDropCopy()

virtual void onDropCopy ( DropCopy  dropCopy)
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onTradeCapture()

virtual void onTradeCapture ( TradeCapture  tradeCapture)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onOrderDone()

virtual void onOrderDone ( OrderDone  orderDone)
protectedvirtual

Reimplemented in MFAdmin, and MFClient.

◆ onReplayDone()

virtual void onReplayDone ( ReplayDone  replayDone)
protectedvirtual

Reimplemented in MFAdmin, MFClient, and MFMarketMaker.

◆ onLockResponse()

virtual void onLockResponse ( LockResponse  lockResponse)
protectedvirtual

Reimplemented in MFAdmin.

◆ onRiskResponse()

virtual void onRiskResponse ( RiskResponse  riskResponse)
protectedvirtual

Reimplemented in MFAdmin.

◆ onQuoteRequest()

virtual void onQuoteRequest ( QuoteRequest  msg)
protectedvirtual

Reimplemented in MFMarketMaker.

◆ onMassQuoteAck()

virtual void onMassQuoteAck ( MassQuoteAck  msg)
protectedvirtual

Reimplemented in MFMarketMaker.

◆ onNewOrder()

virtual void onNewOrder ( NewOrder  msg)
protectedvirtual

Reimplemented in MFMarketMaker.

◆ onOrderTimeout()

virtual void onOrderTimeout ( OrderTimeout  msg)
protectedvirtual

Reimplemented in MFMarketMaker.

◆ onTradeCaptureAck()

virtual void onTradeCaptureAck ( TradeCaptureAck  msg)
protectedvirtual

Reimplemented in MFMarketMaker.

◆ onJsonFromServer()

virtual void onJsonFromServer ( JsonFromServer  msg)
protectedvirtual

◆ log() [1/2]

void log ( string  message)

Logs a debug message into the Whisperer server _log file.

(We use this for inserting markers for automated testing and debugging.)

◆ log() [2/2]

void log ( string  message,
LogLevel  level 
)

◆ test()

void test ( APITest  test)

Internal testing function.

Do not use this.

Member Data Documentation

◆ _username

string _username
protected

◆ _password

string _password
protected

◆ _hostname1

string _hostname1
protected

◆ _port1

int _port1
protected

◆ _hostname2

string _hostname2
protected

◆ _port2

int _port2
protected

◆ _log

Logger _log = Logger.getLogger("com.marketfactory.api")
protected
Confidential. Copyright © 2011 MarketFactory, Inc.