Package velox.api.layer1.layers
Class Layer1ApiRelay
java.lang.Object
velox.api.layer1.Layer1ApiBasicListenable
velox.api.layer1.layers.Layer1ApiUpstreamRelay
velox.api.layer1.layers.Layer1ApiRelay
- All Implemented Interfaces:
AutoCloseable,Layer1ApiAdminListenable,Layer1ApiAdminListener,Layer1ApiAdminProvider,Layer1ApiDataListenable,Layer1ApiDataListener,Layer1ApiDataProvider,Layer1ApiInstrumentListenable,Layer1ApiInstrumentListener,Layer1ApiInstrumentProvider,Layer1ApiListener,Layer1ApiMboDataListenable,Layer1ApiMboDataListener,Layer1ApiProvider,Layer1ApiTradingListenable,Layer1ApiTradingListener,Layer1ApiTradingProvider,LayerApiListenable,Layer1ApiTimeSource
- Direct Known Subclasses:
Layer1ApiDepthFreezer,Layer1ApiInjectorRelay
public class Layer1ApiRelay
extends Layer1ApiUpstreamRelay
implements Layer1ApiProvider, Layer1ApiListener, Layer1ApiTimeSource
Good starting point for all injectable strategies. Just passes all events
through.
-
Nested Class Summary
Nested classes/interfaces inherited from interface velox.api.layer1.layers.Layer1ApiTimeSource
Layer1ApiTimeSource.Layer1TimeSourceShortcutAllowed -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Layer1ApiProviderDo not change it directly, usesetProvider(Layer1ApiProvider).Fields inherited from class velox.api.layer1.layers.Layer1ApiUpstreamRelay
closedFields inherited from class velox.api.layer1.Layer1ApiBasicListenable
adminListeners, dataListeners, instrumentListeners, mboDataListeners, theOnlyAdminListener, theOnlyDataListener, theOnlyInstrumentListener, theOnlyMboDataListener, theOnlyTradingListener, tradingListeners -
Constructor Summary
ConstructorsModifierConstructorDescriptionLayer1ApiRelay(Layer1ApiProvider provider) protectedLayer1ApiRelay(Layer1ApiProvider provider, boolean subscribeToProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Stop relaying data.formatPrice(String alias, double price) Format price using platform capabilities if possiblelongReturns current Unix epoch time.Returns string representing data source.Get information about features that are supported by a provider.voidInitiate login to the platform.voidsendOrder(OrderSendParameters orderSendParameters) Submit order with specified parameterssendUserMessage(Object data) Send a downstream event.protected voidsetProvider(Layer1ApiProvider provider) If you use this method you must implementgetCurrentTime()so time shortcut is not appliedvoidsubscribe(SubscribeInfo subscribeInfo) Subscribe to specified instrument.toString()voidunsubscribe(String alias) Unsubscribe from the instrumentvoidupdateOrder(OrderUpdateParameters orderUpdateParameters) Update order according to parametersMethods inherited from class velox.api.layer1.layers.Layer1ApiUpstreamRelay
onBalance, onConnectionLost, onConnectionRestored, onDepth, onInstrumentAdded, onInstrumentAlreadySubscribed, onInstrumentNotFound, onInstrumentRemoved, onLoginFailed, onLoginSuccessful, onMarketMode, onMboCancel, onMboReplace, onMboSend, onOrderExecuted, onOrderUpdated, onStatus, onSystemTextMessage, onTrade, onUserMessageMethods inherited from class velox.api.layer1.Layer1ApiBasicListenable
addListener, addListener, addListener, addListener, addListener, getAdminListenerBroadcaster, getDataListenerBroadcaster, getInstrumentListenerBroadcaster, getTradingListenerBroadcaster, getUniqueListenersCount, onNoSubscribers, removeListener, removeListener, removeListener, removeListener, removeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface velox.api.layer1.Layer1ApiAdminListenable
addListener, removeListenerMethods inherited from interface velox.api.layer1.Layer1ApiAdminListener
onConnectionLost, onConnectionRestored, onLoginFailed, onLoginSuccessful, onSystemTextMessage, onUserMessageMethods inherited from interface velox.api.layer1.Layer1ApiDataListenable
addListener, removeListenerMethods inherited from interface velox.api.layer1.Layer1ApiDataListener
onDepth, onMarketMode, onTradeMethods inherited from interface velox.api.layer1.Layer1ApiInstrumentListenable
addListener, removeListenerMethods inherited from interface velox.api.layer1.Layer1ApiInstrumentListener
onInstrumentAdded, onInstrumentAlreadySubscribed, onInstrumentNotFound, onInstrumentRemovedMethods inherited from interface velox.api.layer1.Layer1ApiInstrumentProvider
subscribeMethods inherited from interface velox.api.layer1.Layer1ApiMboDataListenable
addListener, removeListenerMethods inherited from interface velox.api.layer1.Layer1ApiMboDataListener
onMboCancel, onMboReplace, onMboSendMethods inherited from interface velox.api.layer1.Layer1ApiTradingListenable
addListener, removeListenerMethods inherited from interface velox.api.layer1.Layer1ApiTradingListener
onBalance, onOrderExecuted, onOrderUpdated, onStatus
-
Field Details
-
provider
Do not change it directly, usesetProvider(Layer1ApiProvider). And don't do that unless you really need to.
-
-
Constructor Details
-
Layer1ApiRelay
-
Layer1ApiRelay
-
-
Method Details
-
setProvider
If you use this method you must implementgetCurrentTime()so time shortcut is not applied -
formatPrice
Description copied from interface:Layer1ApiDataProviderFormat price using platform capabilities if possible- Specified by:
formatPricein interfaceLayer1ApiDataProvider- Returns:
-
subscribe
Description copied from interface:Layer1ApiInstrumentProviderSubscribe to specified instrument. Some parameters can be null depending on the platform.- Specified by:
subscribein interfaceLayer1ApiInstrumentProvider- Parameters:
subscribeInfo- has fields similar toInstrumentCoreInfo
-
unsubscribe
Description copied from interface:Layer1ApiInstrumentProviderUnsubscribe from the instrument- Specified by:
unsubscribein interfaceLayer1ApiInstrumentProvider- Parameters:
alias- instrument alias
-
sendOrder
Description copied from interface:Layer1ApiTradingProviderSubmit order with specified parameters- Specified by:
sendOrderin interfaceLayer1ApiTradingProvider- Parameters:
orderSendParameters- parameters
-
updateOrder
Description copied from interface:Layer1ApiTradingProviderUpdate order according to parameters- Specified by:
updateOrderin interfaceLayer1ApiTradingProvider- Parameters:
orderUpdateParameters- parameters
-
login
Description copied from interface:Layer1ApiAdminProviderInitiate login to the platform.- Specified by:
loginin interfaceLayer1ApiAdminProvider- Parameters:
loginData- credentials, different platforms use different subclasses
-
getCurrentTime
public long getCurrentTime()Description copied from interface:Layer1ApiAdminProviderReturns current Unix epoch time. This method allows time distortions if consumer is too slow - in this case time of the next event may be returned.- Specified by:
getCurrentTimein interfaceLayer1ApiAdminProvider- Returns:
- current Unix epoch time in nanoseconds
-
close
public void close()Description copied from class:Layer1ApiUpstreamRelayStop relaying data. Will not let send new events upwards, but is not guaranteed to stop ones already in progress.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceLayer1ApiAdminProvider- Overrides:
closein classLayer1ApiUpstreamRelay
-
getSource
Description copied from interface:Layer1ApiAdminProviderReturns string representing data source.- Specified by:
getSourcein interfaceLayer1ApiAdminProvider- Returns:
- string representing data source
-
sendUserMessage
Description copied from interface:Layer1ApiAdminProviderSend a downstream event. Allows incorporating arbitrary functionality into protocol- Specified by:
sendUserMessagein interfaceLayer1ApiAdminProvider- Parameters:
data- Message content- Returns:
-
getSupportedFeatures
Description copied from interface:Layer1ApiAdminProviderGet information about features that are supported by a provider. Note that some fields might be set differently depending on when request is made. E.g. adapter might not know if trading will be there until login actually happens.
If you are writing a provider - take a look at
MaximumSupportedFeaturesas a way to declare full list of capabilities before being instantiated- Specified by:
getSupportedFeaturesin interfaceLayer1ApiAdminProvider- Returns:
- object describing supported features
- See Also:
-
getTimeSource
- Specified by:
getTimeSourcein interfaceLayer1ApiTimeSource
-
toString
-