org.epics.ioc.ca
Interface ChannelPutRequester

All Superinterfaces:
Requester
All Known Subinterfaces:
ChannelPutGetRequester
All Known Implementing Classes:
BaseCDPut, BaseV3ChannelProcess, BaseV3ChannelPutGet

public interface ChannelPutRequester
extends Requester

Requester for ChannelPut requests.

Author:
mrk

Method Summary
 boolean nextDelayedPutField(PVField field)
          Called as a result of a call to ChannelPut.nextPutField that returns true, The underlying database is locked while this is called.
 boolean nextPutField(ChannelField channelField, PVField pvField)
          Provide the next set of data to put to the channel.
 void putDone(RequestResult requestResult)
          The request is done.
 
Methods inherited from interface org.epics.ioc.util.Requester
getRequesterName, message
 

Method Detail

nextPutField

boolean nextPutField(ChannelField channelField,
                     PVField pvField)
Provide the next set of data to put to the channel. The requester is expected to call the put method.

Parameters:
channelField - The channelField.
pvField - The interface for putting data.
Returns:
(false,true) if the requester (has,has not) obtained all the data. A value of true means that the requester wants to be called again for this data. The caller must call ChannelPut.nextDelayedPutField in order to access more data. This normally means that an array is being transfered and the requester is not able to handle the array as a single chunk of data.

nextDelayedPutField

boolean nextDelayedPutField(PVField field)
Called as a result of a call to ChannelPut.nextPutField that returns true, The underlying database is locked while this is called.

Parameters:
field - The data.
Returns:
(false,true) if the requester (will not, will) call PutFactory.nextDelayedPutField again for this pvField.

putDone

void putDone(RequestResult requestResult)
The request is done. This is always called with no locks held.

Parameters:
requestResult - The result of the request.