Interface Layer1ApiAdminProvider

All Superinterfaces:
AutoCloseable, Layer1ApiAdminListenable
All Known Subinterfaces:
Layer1ApiProvider
All Known Implementing Classes:
ExternalLiveBaseProvider, ExternalReaderBaseProvider, Layer1ApiDepthFreezer, Layer1ApiInjectorRelay, Layer1ApiRelay, Layer1ApiStrategiesEchoMessagesLayer

@DefaultQualifier(org.checkerframework.checker.nullness.qual.NonNull.class) public interface Layer1ApiAdminProvider extends AutoCloseable, Layer1ApiAdminListenable
Class implementing this should provide general Layer1 Api functions.
  • Method Details

    • getSupportedFeatures

      Layer1ApiProviderSupportedFeatures getSupportedFeatures()

      Get 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 MaximumSupportedFeatures as a way to declare full list of capabilities before being instantiated

      Returns:
      object describing supported features
      See Also:
    • login

      void login(LoginData loginData)
      Initiate login to the platform.
      Parameters:
      loginData - credentials, different platforms use different subclasses
    • getCurrentTime

      long getCurrentTime()
      Returns 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.
      Returns:
      current Unix epoch time in nanoseconds
    • getSource

      String getSource()
      Returns string representing data source.
      Returns:
      string representing data source
    • sendUserMessage

      @Nullable Object sendUserMessage(Object data)
      Send a downstream event. Allows incorporating arbitrary functionality into protocol
      Parameters:
      data - Message content
      Returns:
    • close

      void close()
      Shut down and dispose. For details on the provider lifecycle, check out the javadoc of ExternalLiveBaseProvider and ExternalReaderBaseProvider for Live and Replay external modules respectively.
      Specified by:
      close in interface AutoCloseable