Class BaseRequestImpl

    • Field Detail

      • statusCreate

        protected static final org.epics.pvdata.pv.StatusCreate statusCreate
      • okStatus

        protected static final org.epics.pvdata.pv.Status okStatus
      • destroyedStatus

        protected static final org.epics.pvdata.pv.Status destroyedStatus
      • channelNotConnected

        protected static final org.epics.pvdata.pv.Status channelNotConnected
      • channelDestroyed

        protected static final org.epics.pvdata.pv.Status channelDestroyed
      • otherRequestPendingStatus

        protected static final org.epics.pvdata.pv.Status otherRequestPendingStatus
      • invalidPutStructureStatus

        protected static final org.epics.pvdata.pv.Status invalidPutStructureStatus
      • invalidPutArrayStatus

        protected static final org.epics.pvdata.pv.Status invalidPutArrayStatus
      • invalidBitSetLengthStatus

        protected static final org.epics.pvdata.pv.Status invalidBitSetLengthStatus
      • pvDataCreate

        protected static final org.epics.pvdata.pv.PVDataCreate pvDataCreate
      • channel

        protected final ChannelImpl channel
        Channel.
      • ioid

        protected final int ioid
        I/O ID given by the context when registered.
      • requester

        protected final org.epics.pvdata.pv.Requester requester
        Response callback listener.
      • pvRequest

        protected final org.epics.pvdata.pv.PVStructure pvRequest
        pvRequest structure.
      • lastRequest

        protected volatile boolean lastRequest
        Last request flag.
      • destroyed

        protected volatile boolean destroyed
        Destroyed flag.
      • remotelyDestroyed

        protected volatile boolean remotelyDestroyed
        Remote instance destroyed.
      • subscribed

        protected volatile boolean subscribed
        Initialized flag.
      • pendingRequest

        protected int pendingRequest
    • Constructor Detail

      • BaseRequestImpl

        public BaseRequestImpl​(ChannelImpl channel,
                               org.epics.pvdata.pv.Requester requester,
                               org.epics.pvdata.pv.PVStructure pvRequest,
                               boolean allowNullPVRequest)
    • Method Detail

      • activate

        protected void activate()
      • startRequest

        public final boolean startRequest​(int qos)
      • stopRequest

        public final void stopRequest()
      • getPendingRequest

        public final int getPendingRequest()
      • getRequester

        public org.epics.pvdata.pv.Requester getRequester()
        Description copied from interface: ResponseRequest
        Get request requester.
        Specified by:
        getRequester in interface ResponseRequest
        Returns:
        request requester.
      • response

        public void response​(Transport transport,
                             byte version,
                             ByteBuffer payloadBuffer)
        Description copied from interface: DataResponse
        Notification response.
        Specified by:
        response in interface DataResponse
        Parameters:
        transport - transport to use.
        version - protocol version.
        payloadBuffer - the data.
      • destroy

        protected void destroy​(boolean createRequestFailed)
        Actual destroy implementation.
        Parameters:
        createRequestFailed - set to true if create request failed.
      • destroy

        public void destroy()
      • reportStatus

        public void reportStatus​(org.epics.pvdata.pv.Status status)
        Description copied from interface: ResponseRequest
        Report status to clients (e.g. disconnected).
        Specified by:
        reportStatus in interface ResponseRequest
        Parameters:
        status - to report.
      • lock

        public void lock()
        Specified by:
        lock in interface Lockable
      • 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 on TransportSendControl 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 interface TransportSender
        Parameters:
        buffer - buffer to send.
        control - transport send control instance.
      • unlock

        public void unlock()
        Specified by:
        unlock in interface Lockable
      • createBitSetFor

        public static final org.epics.pvdata.misc.BitSet createBitSetFor​(org.epics.pvdata.pv.PVStructure pvStructure,
                                                                         org.epics.pvdata.misc.BitSet existingBitSet)
      • reuseOrCreatePVField

        public static final org.epics.pvdata.pv.PVField reuseOrCreatePVField​(org.epics.pvdata.pv.Field field,
                                                                             org.epics.pvdata.pv.PVField existingPVField)
      • lastRequest

        public void lastRequest()
      • getChannel

        public Channel getChannel()