Class EpicsChannelManager
java.lang.Object
ch.psi.wica.controlsystem.epics.channel.EpicsChannelManager
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
EpicsChannelManager.EpicsMonitoredChannelManagerService,EpicsChannelManager.EpicsPolledChannelManagerService
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
ConstructorsConstructorDescriptionEpicsChannelManager(String scope, EpicsChannelAccessContextSupplier epicsChannelAccessContextSupplier, EpicsChannelConnectionChangeSubscriber epicsChannelConnectionChangeSubscriber, EpicsChannelEventPublisher epicsChannelEventPublisher, StatisticsCollectionService statisticsCollectionService) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Disposes of all resources associated with this class instance.voidcreateChannel(EpicsChannelName epicsChannelName) voidremoveChannel(EpicsChannelName epicsChannelName)
-
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
-
getStatistics
-
createChannel
-
removeChannel
-
close
public void close()Disposes of all resources associated with this class instance.- Specified by:
closein interfaceAutoCloseable
-