Package org.epics.pvaccess.client
Interface Channel
-
- All Superinterfaces:
org.epics.pvdata.pv.Requester
- All Known Subinterfaces:
V3Channel
- All Known Implementing Classes:
BaseV3Channel
,ChannelImpl
,RPCChannel
public interface Channel extends org.epics.pvdata.pv.Requester
Interface for accessing a channel. A channel is created via a call to ChannelAccess.createChannel(String channelName).- Author:
- mrk, msekoranja
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Channel.ConnectionState
Channel connection status.
-
Method Summary
All Methods Instance Methods Abstract 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.boolean
isConnected()
Is the channel connected?
-
-
-
Method Detail
-
getProvider
ChannelProvider getProvider()
Get the the channel provider of this channel.- Returns:
- The channel provider.
-
getRemoteAddress
String getRemoteAddress()
Returns the channel's remote address, e.g. "/192.168.1.101:5064" or "#C0 S1".- Returns:
- the channel's remote address.
-
getConnectionState
Channel.ConnectionState getConnectionState()
Returns the connection state of this channel.- Returns:
- the
ConnectionState
value.
-
destroy
void destroy()
Destroy the channel. It will not honor any further requests.
-
getChannelName
String getChannelName()
Get the channel name.- Returns:
- The name.
-
getChannelRequester
ChannelRequester getChannelRequester()
Get the channel requester.- Returns:
- The requester.
-
isConnected
boolean isConnected()
Is the channel connected?- Returns:
- (false,true) means (not, is) connected.
-
getField
void getField(GetFieldRequester requester, String subField)
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.- Parameters:
requester
- The requester.subField
- The name of the subField. If this is null or an empty string the returned Field is for the entire record.
-
getAccessRights
AccessRights getAccessRights(org.epics.pvdata.pv.PVField pvField)
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.- Parameters:
pvField
- The field for which access rights is desired.- Returns:
- The access rights.
-
createChannelProcess
ChannelProcess createChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelProcess. ChannelProcessRequester.channelProcessReady is called after both client and server are ready for the client to make a process request.- 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
ChannelGet createChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelGet. ChannelGetRequester.channelGetReady is called after both client and server are ready for the client to make a get request.- 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
ChannelPut createChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPut. ChannelPutRequester.channelPutReady is called after both client and server are ready for the client to make a put request.- 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
ChannelPutGet createChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPutGet. ChannelPutGetRequester.channelPutGetReady is called after both client and server are ready for the client to make a putGet request.- 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.
-
createChannelRPC
ChannelRPC createChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelRPC (Remote Procedure Call).- Parameters:
channelRPCRequester
- The requester.pvRequest
- Request options.- Returns:
ChannelRPC
instance.
-
createMonitor
org.epics.pvdata.monitor.Monitor createMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a Monitor.- 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
ChannelArray createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelArray.- Parameters:
channelArrayRequester
- The ChannelArrayRequesterpvRequest
- Additional options (e.g. triggering).- Returns:
ChannelArray
instance.
-
-