Class ChannelMonitorImpl
- java.lang.Object
-
- org.epics.pvaccess.client.impl.remote.BaseRequestImpl
-
- org.epics.pvaccess.client.impl.remote.ChannelMonitorImpl
-
- All Implemented Interfaces:
Lockable,DataResponse,ResponseRequest,SubscriptionRequest,TransportSender,org.epics.pvdata.misc.Destroyable,org.epics.pvdata.monitor.Monitor
public class ChannelMonitorImpl extends BaseRequestImpl implements org.epics.pvdata.monitor.Monitor
PVA monitor request.- Version:
- $Id$
- Author:
- Matej Sekoranja
-
-
Field Summary
Fields Modifier and Type Field Description protected intackAnyprotected org.epics.pvdata.monitor.MonitorRequestercallbackResponse callback listener.protected booleanpipelineprotected intqueueSizeprotected AtomicBooleanstarted-
Fields inherited from class org.epics.pvaccess.client.impl.remote.BaseRequestImpl
channel, channelDestroyed, channelNotConnected, context, destroyed, destroyedStatus, invalidBitSetLengthStatus, invalidPutArrayStatus, invalidPutStructureStatus, ioid, lastRequest, lock, NULL_REQUEST, okStatus, otherRequestPendingStatus, pendingRequest, PURE_CANCEL_REQUEST, PURE_DESTROY_REQUEST, pvRequest, remotelyDestroyed, requester, statusCreate, subscribed
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedChannelMonitorImpl(ChannelImpl channel, org.epics.pvdata.monitor.MonitorRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidactivate()static ChannelMonitorImplcreate(ChannelImpl channel, org.epics.pvdata.monitor.MonitorRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)org.epics.pvdata.monitor.MonitorElementpoll()voidrelease(org.epics.pvdata.monitor.MonitorElement monitorElement)voidresponse(Transport transport, byte version, ByteBuffer payloadBuffer)Notification response.voidresubscribeSubscription(Transport transport)Resubscribe (e.g.voidsend(ByteBuffer buffer, TransportSendControl control)Called by transport.org.epics.pvdata.pv.Statusstart()org.epics.pvdata.pv.Statusstop()-
Methods inherited from class org.epics.pvaccess.client.impl.remote.BaseRequestImpl
cancel, createBitSetFor, destroy, destroy, getChannel, getIOID, getPendingRequest, getRequester, lastRequest, lock, reportStatus, reuseOrCreatePVField, startRequest, stopRequest, timeout, unlock, updateSubscription
-
-
-
-
Field Detail
-
callback
protected final org.epics.pvdata.monitor.MonitorRequester callback
Response callback listener.
-
started
protected AtomicBoolean started
-
queueSize
protected final int queueSize
-
pipeline
protected final boolean pipeline
-
ackAny
protected final int ackAny
-
-
Constructor Detail
-
ChannelMonitorImpl
protected ChannelMonitorImpl(ChannelImpl channel, org.epics.pvdata.monitor.MonitorRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
-
-
Method Detail
-
create
public static ChannelMonitorImpl create(ChannelImpl channel, org.epics.pvdata.monitor.MonitorRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
-
activate
protected void activate()
- Overrides:
activatein classBaseRequestImpl
-
resubscribeSubscription
public void resubscribeSubscription(Transport transport)
Description copied from interface:SubscriptionRequestResubscribe (e.g. when server was restarted)- Specified by:
resubscribeSubscriptionin interfaceSubscriptionRequest- Overrides:
resubscribeSubscriptionin classBaseRequestImpl- Parameters:
transport- new transport to be used.
-
send
public void send(ByteBuffer buffer, TransportSendControl control)
Description copied from interface:TransportSenderCalled by transport. By this call transport gives callee ownership over the buffer. Calls onTransportSendControlinstance must be made from calling thread. Moreover, ownership is valid only for the time of call of this method. NOTE: these limitations allow efficient implementation.- Specified by:
sendin interfaceTransportSender- Overrides:
sendin classBaseRequestImpl- Parameters:
buffer- buffer to send.control- transport send control instance.
-
response
public void response(Transport transport, byte version, ByteBuffer payloadBuffer)
Description copied from interface:DataResponseNotification response.- Specified by:
responsein interfaceDataResponse- Overrides:
responsein classBaseRequestImpl- Parameters:
transport- transport to use.version- protocol version.payloadBuffer- the data.
-
start
public org.epics.pvdata.pv.Status start()
- Specified by:
startin interfaceorg.epics.pvdata.monitor.Monitor
-
stop
public org.epics.pvdata.pv.Status stop()
- Specified by:
stopin interfaceorg.epics.pvdata.monitor.Monitor
-
poll
public org.epics.pvdata.monitor.MonitorElement poll()
- Specified by:
pollin interfaceorg.epics.pvdata.monitor.Monitor
-
release
public void release(org.epics.pvdata.monitor.MonitorElement monitorElement)
- Specified by:
releasein interfaceorg.epics.pvdata.monitor.Monitor
-
-