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.PVStructure
argumentData
protected ChannelRPCRequester
callback
Response 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 protected
ChannelRPCRequestImpl(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 void
activate()
static ChannelRPCRequestImpl
create(ChannelImpl channel, ChannelRPCRequester callback, org.epics.pvdata.pv.PVStructure pvRequest)
void
request(org.epics.pvdata.pv.PVStructure pvArgument)
Issue an RPC request to the channel.void
send(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:
activate
in classBaseRequestImpl
-
send
public void send(ByteBuffer buffer, TransportSendControl control)
Description copied from interface:TransportSender
Called by transport. By this call transport gives callee ownership over the buffer. Calls onTransportSendControl
instance 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:
send
in interfaceTransportSender
- Overrides:
send
in 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:ChannelRPC
Issue an RPC request to the channel. Completion status is reported by calling ChannelRPCRequester.requestDone() callback.- Specified by:
request
in interfaceChannelRPC
- Parameters:
pvArgument
- The argument structure for an RPC request.
-
-