Interface OutboundQueue

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void commitEntry​(@NonNull org.opendaylight.yangtools.yang.common.Uint32 xid, @Nullable OfHeader message, @Nullable com.google.common.util.concurrent.FutureCallback<OfHeader> callback)
      Commit the specified offset using a message.
      void commitEntry​(@NonNull org.opendaylight.yangtools.yang.common.Uint32 xid, @Nullable OfHeader message, @Nullable com.google.common.util.concurrent.FutureCallback<OfHeader> callback, @Nullable Function<OfHeader,​Boolean> isComplete)
      Commit the specified offset using a message.
      org.opendaylight.yangtools.yang.common.Uint32 reserveEntry()
      Reserve an entry in the outbound queue.
    • Method Detail

      • reserveEntry

        org.opendaylight.yangtools.yang.common.Uint32 reserveEntry()
        Reserve an entry in the outbound queue.
        Returns:
        XID for the new message, or null if the queue is full
      • commitEntry

        void commitEntry​(@NonNull org.opendaylight.yangtools.yang.common.Uint32 xid,
                         @Nullable OfHeader message,
                         @Nullable com.google.common.util.concurrent.FutureCallback<OfHeader> callback)
        Commit the specified offset using a message. Specified callback will be invoked once we know how it has resolved, either with a normal response, implied completion via a barrier, or failure (such as connection drop). For multipart responses, FutureCallback.onSuccess(Object) will be invoked multiple times as the corresponding responses arrive. If the request is completed with a response, the object reported will be non-null. If the request's completion is implied by a barrier, the object reported will be null.

        If this request fails on the remote device, FutureCallback.onFailure(Throwable) will be called with an instance of DeviceRequestFailedException.

        If the request fails due to local reasons, FutureCallback.onFailure(Throwable) will be called with an instance of OutboundQueueException. In particular, if this request failed because the device disconnected, OutboundQueueException.DEVICE_DISCONNECTED will be reported.

        Parameters:
        xid - Previously-reserved XID
        message - Message which should be sent out, or null if the reservation should be cancelled.
        callback - Callback to be invoked, or null if no callback should be invoked.
        Throws:
        IllegalArgumentException - if the slot is already committed or was never reserved.
      • commitEntry

        void commitEntry​(@NonNull org.opendaylight.yangtools.yang.common.Uint32 xid,
                         @Nullable OfHeader message,
                         @Nullable com.google.common.util.concurrent.FutureCallback<OfHeader> callback,
                         @Nullable Function<OfHeader,​Boolean> isComplete)
        Commit the specified offset using a message. Specified callback will be invoked once we know how it has resolved, either with a normal response, implied completion via a barrier, or failure (such as connection drop). For multipart responses, FutureCallback.onSuccess(Object) will be invoked multiple times as the corresponding responses arrive. If the request is completed with a response, the object reported will be non-null. If the request's completion is implied by a barrier, the object reported will be null.

        If this request fails on the remote device, FutureCallback.onFailure(Throwable) will be called with an instance of DeviceRequestFailedException.

        If the request fails due to local reasons, FutureCallback.onFailure(Throwable) will be called with an instance of OutboundQueueException. In particular, if this request failed because the device disconnected, OutboundQueueException.DEVICE_DISCONNECTED will be reported.

        Parameters:
        xid - Previously-reserved XID
        message - Message which should be sent out, or null if the reservation should be cancelled.
        callback - Callback to be invoked, or null if no callback should be invoked.
        isComplete - Function to determine if OfHeader is processing is complete
        Throws:
        IllegalArgumentException - if the slot is already committed or was never reserved.