Class RPCChannel
- java.lang.Object
-
- org.epics.pvaccess.server.rpc.impl.RPCChannel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.epics.pvaccess.client.Channel
Channel.ConnectionState
-
-
Constructor Summary
Constructors Constructor Description RPCChannel(ChannelProvider provider, String channelName, ChannelRequester channelRequester, Service service, ThreadPoolExecutor threadPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ChannelArray
createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelArray.ChannelGet
createChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelGet.ChannelProcess
createChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelProcess.ChannelPut
createChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPut.ChannelPutGet
createChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPutGet.ChannelRPC
createChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelRPC (Remote Procedure Call).org.epics.pvdata.monitor.Monitor
createMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a Monitor.void
destroy()
Destroy the channel.AccessRights
getAccessRights(org.epics.pvdata.pv.PVField pvField)
Get the access rights for a field of a PVStructure created via a call to createPVStructure.String
getChannelName()
Get the channel name.ChannelRequester
getChannelRequester()
Get the channel requester.Channel.ConnectionState
getConnectionState()
Returns the connection state of this channel.void
getField(GetFieldRequester requester, String subField)
Get a Field which describes the subField.ChannelProvider
getProvider()
Get the the channel provider of this channel.String
getRemoteAddress()
Returns the channel's remote address, e.g.String
getRequesterName()
boolean
isConnected()
Is the channel connected?void
message(String message, org.epics.pvdata.pv.MessageType messageType)
-
-
-
Constructor Detail
-
RPCChannel
public RPCChannel(ChannelProvider provider, String channelName, ChannelRequester channelRequester, Service service, ThreadPoolExecutor threadPool)
-
-
Method Detail
-
getProvider
public ChannelProvider getProvider()
Description copied from interface:Channel
Get the the channel provider of this channel.- Specified by:
getProvider
in interfaceChannel
- Returns:
- The channel provider.
-
getChannelName
public String getChannelName()
Description copied from interface:Channel
Get the channel name.- Specified by:
getChannelName
in interfaceChannel
- Returns:
- The name.
-
getChannelRequester
public ChannelRequester getChannelRequester()
Description copied from interface:Channel
Get the channel requester.- Specified by:
getChannelRequester
in interfaceChannel
- Returns:
- The requester.
-
getRemoteAddress
public String getRemoteAddress()
Description copied from interface:Channel
Returns the channel's remote address, e.g. "/192.168.1.101:5064" or "#C0 S1".- Specified by:
getRemoteAddress
in interfaceChannel
- Returns:
- the channel's remote address.
-
destroy
public void destroy()
Description copied from interface:Channel
Destroy the channel. It will not honor any further requests.
-
isConnected
public boolean isConnected()
Description copied from interface:Channel
Is the channel connected?- Specified by:
isConnected
in interfaceChannel
- Returns:
- (false,true) means (not, is) connected.
-
getConnectionState
public Channel.ConnectionState getConnectionState()
Description copied from interface:Channel
Returns the connection state of this channel.- Specified by:
getConnectionState
in interfaceChannel
- Returns:
- the
ConnectionState
value.
-
createChannelRPC
public ChannelRPC createChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelRPC (Remote Procedure Call).- Specified by:
createChannelRPC
in interfaceChannel
- Parameters:
channelRPCRequester
- The requester.pvRequest
- Request options.- Returns:
ChannelRPC
instance.
-
getAccessRights
public AccessRights getAccessRights(org.epics.pvdata.pv.PVField pvField)
Description copied from interface:Channel
Get the access rights for a field of a PVStructure created via a call to createPVStructure. MATEJ Channel access can store this info via auxInfo.- Specified by:
getAccessRights
in interfaceChannel
- Parameters:
pvField
- The field for which access rights is desired.- Returns:
- The access rights.
-
getField
public void getField(GetFieldRequester requester, String subField)
Description copied from interface:Channel
Get a Field which describes the subField. GetFieldRequester.getDone is called after both client and server have processed the getField request. This is for clients that want to introspect a PVRecord via channel access.
-
createChannelProcess
public ChannelProcess createChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelProcess. ChannelProcessRequester.channelProcessReady is called after both client and server are ready for the client to make a process request.- Specified by:
createChannelProcess
in interfaceChannel
- Parameters:
channelProcessRequester
- The interface for notifying when this request is complete and when channel completes processing.pvRequest
- Additional options (e.g. triggering).- Returns:
ChannelProcess
instance.
-
createChannelGet
public ChannelGet createChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelGet. ChannelGetRequester.channelGetReady is called after both client and server are ready for the client to make a get request.- Specified by:
createChannelGet
in interfaceChannel
- Parameters:
channelGetRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelGet
instance.
-
createChannelPut
public ChannelPut createChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelPut. ChannelPutRequester.channelPutReady is called after both client and server are ready for the client to make a put request.- Specified by:
createChannelPut
in interfaceChannel
- Parameters:
channelPutRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelPut
instance.
-
createChannelPutGet
public ChannelPutGet createChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelPutGet. ChannelPutGetRequester.channelPutGetReady is called after both client and server are ready for the client to make a putGet request.- Specified by:
createChannelPutGet
in interfaceChannel
- Parameters:
channelPutGetRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelPutGet
instance.
-
createMonitor
public org.epics.pvdata.monitor.Monitor createMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a Monitor.- Specified by:
createMonitor
in interfaceChannel
- Parameters:
monitorRequester
- The requester.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
Monitor
instance.
-
createChannelArray
public ChannelArray createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelArray.- Specified by:
createChannelArray
in interfaceChannel
- Parameters:
channelArrayRequester
- The ChannelArrayRequesterpvRequest
- Additional options (e.g. triggering).- Returns:
ChannelArray
instance.
-
getRequesterName
public String getRequesterName()
- Specified by:
getRequesterName
in interfaceorg.epics.pvdata.pv.Requester
-
message
public void message(String message, org.epics.pvdata.pv.MessageType messageType)
- Specified by:
message
in interfaceorg.epics.pvdata.pv.Requester
-
-