Package org.epics.ca.impl.monitor
Interface MonitorNotificationServiceFactory
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Implementing Classes:
BlockingQueueMonitorNotificationServiceFactory,DisruptorMonitorNotificationServiceFactory,StripedExecutorServiceMonitorNotificationServiceFactory
public interface MonitorNotificationServiceFactory extends java.lang.AutoCloseable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Closes down this service factory and releases all underlying resources.intgetQosMetricBufferSizePerConsumer()Returns an indication of the size of each consumer's notification buffer (for service implementations which provide buffering).booleangetQosMetricIsBuffered()Returns an indication of whether this service implementation can be expected to drop notifications or whether it will buffer them in situations where the publication rate exceeds the rate at which the consumers can process the data.booleangetQosMetricIsNullPublishable()Returns an indication of whether the publish method accepts null as a valid token to be sent to the Coinsumer.intgetQosMetricNumberOfNotificationThreadsPerConsumer()Returns an indication of how many threads the consumer may be called back on.intgetServiceCount()Returns the count of service instances created by this provider.<T> MonitorNotificationService<T>getServiceForConsumer(java.util.function.Consumer<? super T> consumer)Returns a service instance which will publish events to the specified Consumer.
-
-
-
Method Detail
-
getServiceForConsumer
<T> MonitorNotificationService<T> getServiceForConsumer(java.util.function.Consumer<? super T> consumer)
Returns a service instance which will publish events to the specified Consumer.- Type Parameters:
T- the type of events that this service instance will publish.- Parameters:
consumer- the consumer to publish to.- Returns:
- the service instance.
-
close
void close()
Closes down this service factory and releases all underlying resources.- Specified by:
closein interfacejava.lang.AutoCloseable
-
getServiceCount
int getServiceCount()
Returns the count of service instances created by this provider.- Returns:
- the result.
-
getQosMetricIsBuffered
boolean getQosMetricIsBuffered()
Returns an indication of whether this service implementation can be expected to drop notifications or whether it will buffer them in situations where the publication rate exceeds the rate at which the consumers can process the data.- Returns:
- the result.
-
getQosMetricBufferSizePerConsumer
int getQosMetricBufferSizePerConsumer()
Returns an indication of the size of each consumer's notification buffer (for service implementations which provide buffering). Returns 1 in the case that the service implementation is not buffered.- Returns:
- the result.
-
getQosMetricNumberOfNotificationThreadsPerConsumer
int getQosMetricNumberOfNotificationThreadsPerConsumer()
Returns an indication of how many threads the consumer may be called back on. Where multiple threads are involved the consumer may wish to synchronize their accept method to force serialisation of the notification sequence so that events get notified in the same sequence as they were published.- Returns:
- the result.
-
getQosMetricIsNullPublishable
boolean getQosMetricIsNullPublishable()
Returns an indication of whether the publish method accepts null as a valid token to be sent to the Coinsumer.- Returns:
- the result.
-
-