Class ChannelRPCRequestImpl
- java.lang.Object
-
- org.epics.pvaccess.client.impl.remote.BaseRequestImpl
-
- org.epics.pvaccess.client.impl.remote.ChannelRPCRequestImpl
-
- All Implemented Interfaces:
ChannelRequest,ChannelRPC,Lockable,DataResponse,ResponseRequest,SubscriptionRequest,TransportSender,org.epics.pvdata.misc.Destroyable
public class ChannelRPCRequestImpl extends BaseRequestImpl implements ChannelRPC
PVA RPC request.- Version:
- $Id$
- Author:
- Matej Sekoranja
-
-
Field Summary
Fields Modifier and Type Field Description protected org.epics.pvdata.pv.PVStructureargumentDataprotected ChannelRPCRequestercallbackResponse callback listener.-
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, pvDataCreate, pvRequest, remotelyDestroyed, requester, statusCreate, subscribed
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedChannelRPCRequestImpl(ChannelImpl channel, ChannelRPCRequester 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 ChannelRPCRequestImplcreate(ChannelImpl channel, ChannelRPCRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)voidrequest(org.epics.pvdata.pv.PVStructure pvArgument)Issue an RPC request to the channel.voidsend(ByteBuffer buffer, TransportSendControl control)Called by transport.-
Methods inherited from class org.epics.pvaccess.client.impl.remote.BaseRequestImpl
cancel, createBitSetFor, destroy, destroy, getChannel, getIOID, getPendingRequest, getRequester, lastRequest, lock, reportStatus, response, resubscribeSubscription, reuseOrCreatePVField, startRequest, stopRequest, timeout, unlock, updateSubscription
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.epics.pvaccess.client.ChannelRequest
cancel, getChannel, lastRequest
-
-
-
-
Field Detail
-
callback
protected final ChannelRPCRequester callback
Response callback listener.
-
argumentData
protected org.epics.pvdata.pv.PVStructure argumentData
-
-
Constructor Detail
-
ChannelRPCRequestImpl
protected ChannelRPCRequestImpl(ChannelImpl channel, ChannelRPCRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
-
-
Method Detail
-
create
public static ChannelRPCRequestImpl create(ChannelImpl channel, ChannelRPCRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
-
activate
protected void activate()
- Overrides:
activatein classBaseRequestImpl
-
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.
-
request
public void request(org.epics.pvdata.pv.PVStructure pvArgument)
Description copied from interface:ChannelRPCIssue an RPC request to the channel. Completion status is reported by calling ChannelRPCRequester.requestDone() callback.- Specified by:
requestin interfaceChannelRPC- Parameters:
pvArgument- The argument structure for an RPC request.
-
-