Class EpicsChannelManager

java.lang.Object
ch.psi.wica.controlsystem.epics.channel.EpicsChannelManager
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
EpicsChannelManager.EpicsMonitoredChannelManagerService, EpicsChannelManager.EpicsPolledChannelManagerService

@ThreadSafe public abstract class EpicsChannelManager extends Object implements AutoCloseable
A service which establishes EPICS CA channels on user-specified channels of interest, subsequently publishing changes in the channel's connection state to interested consumers within the application.

@implNote. The current implementation uses PSI's CA EPICS client library to create a single shared EPICS CA Context per class instance. The EPICS CA context and all associated resources are disposed of when the service instance is closed.

  • Constructor Details

    • EpicsChannelManager

      public EpicsChannelManager(String scope, EpicsChannelAccessContextSupplier epicsChannelAccessContextSupplier, EpicsChannelConnectionChangeSubscriber epicsChannelConnectionChangeSubscriber, EpicsChannelEventPublisher epicsChannelEventPublisher, StatisticsCollectionService statisticsCollectionService)
      Constructs a new instance.
      Parameters:
      scope - a String which specifies the scope of this manager.
      epicsChannelAccessContextSupplier - an object which can be used to obtain an initialised channel access context appropriate to the needs of the consumer.
      epicsChannelConnectionChangeSubscriber - an object which can be used to subscribe to connection state changes.
      epicsChannelEventPublisher - an object which publishes events of interest to consumers within the application.
      statisticsCollectionService - an object which will collect the statistics associated with this class instance.
  • Method Details