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 class
static class
-
Constructor Summary
ConstructorsConstructorDescriptionEpicsChannelManager
(String scope, EpicsChannelAccessContextSupplier epicsChannelAccessContextSupplier, EpicsChannelConnectionChangeSubscriber epicsChannelConnectionChangeSubscriber, EpicsChannelEventPublisher epicsChannelEventPublisher, StatisticsCollectionService statisticsCollectionService) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Disposes of all resources associated with this class instance.void
createChannel
(EpicsChannelName epicsChannelName) void
removeChannel
(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:
close
in interfaceAutoCloseable
-