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.RequesterInterface 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 classChannel.ConnectionStateChannel connection status.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ChannelArraycreateChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelArray.ChannelGetcreateChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelGet.ChannelProcesscreateChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelProcess.ChannelPutcreateChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelPut.ChannelPutGetcreateChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelPutGet.ChannelRPCcreateChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a ChannelRPC (Remote Procedure Call).org.epics.pvdata.monitor.MonitorcreateMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)Create a Monitor.voiddestroy()Destroy the channel.AccessRightsgetAccessRights(org.epics.pvdata.pv.PVField pvField)Get the access rights for a field of a PVStructure created via a call to createPVStructure.StringgetChannelName()Get the channel name.ChannelRequestergetChannelRequester()Get the channel requester.Channel.ConnectionStategetConnectionState()Returns the connection state of this channel.voidgetField(GetFieldRequester requester, String subField)Get a Field which describes the subField.ChannelProvidergetProvider()Get the the channel provider of this channel.StringgetRemoteAddress()Returns the channel's remote address, e.g.booleanisConnected()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
ConnectionStatevalue.
-
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:
ChannelProcessinstance.
-
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:
ChannelGetinstance.
-
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:
ChannelPutinstance.
-
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:
ChannelPutGetinstance.
-
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:
ChannelRPCinstance.
-
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:
Monitorinstance.
-
createChannelArray
ChannelArray createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelArray.- Parameters:
channelArrayRequester- The ChannelArrayRequesterpvRequest- Additional options (e.g. triggering).- Returns:
ChannelArrayinstance.
-
-