Interface ConnectionAdapter

All Known Subinterfaces:
ConnectionFacade
All Known Implementing Classes:
ConnectionAdapterImpl

public interface ConnectionAdapter
Manages a switch connection.
Author:
mirehak, michal.polkorab
  • Method Details

    • disconnect

      Future<Boolean> disconnect()
      Disconnect corresponding switch.
      Returns:
      future set to true, when disconnect completed
    • isAlive

      boolean isAlive()
      Determines if the connection to the switch is alive.
      Returns:
      true, if connection to switch is alive
    • getRemoteAddress

      InetSocketAddress getRemoteAddress()
      Returns the address of the connected switch.
      Returns:
      address of the remote end - address of a switch if connected
    • setMessageListener

      void setMessageListener(ConnectionAdapter.MessageListener messageListener)
      Sets the protocol message listener.
      Parameters:
      messageListener - here will be pushed all messages from switch
    • setSystemListener

      void setSystemListener(ConnectionAdapter.SystemListener systemListener)
      Sets the system message listener.
      Parameters:
      systemListener - here will be pushed all system messages from library
    • setAlienMessageListener

      void setAlienMessageListener(AlienMessageListener alienMessageListener)
      Set handler for alien messages received from device.
      Parameters:
      alienMessageListener - here will be pushed all alien messages from switch
    • checkListeners

      void checkListeners()
      Throws exception if any of required listeners is missing.
    • fireConnectionReadyNotification

      void fireConnectionReadyNotification()
      Notify listener about connection ready-to-use event.
    • onSwitchCertificateIdentified

      void onSwitchCertificateIdentified(@Nullable List<X509Certificate> certificateChain)
      Notify listener about switch certificate information.
      Parameters:
      certificateChain - X509 certificate chain presented by the switch
    • setConnectionReadyListener

      void setConnectionReadyListener(ConnectionReadyListener connectionReadyListener)
      Set listener for connection became ready-to-use event.
      Parameters:
      connectionReadyListener - listens to connection ready event
    • setAutoRead

      void setAutoRead(boolean autoRead)
      Sets option for automatic channel reading - if set to false, incoming messages won't be read.
      Parameters:
      autoRead - target value to be switched to
    • isAutoRead

      boolean isAutoRead()
      Determines if the channel is configured to auto-read.
      Returns:
      true, if channel is configured to auto-read
    • registerOutboundQueueHandler

      @Beta <T extends OutboundQueueHandler> OutboundQueueHandlerRegistration<T> registerOutboundQueueHandler(T handler, int maxQueueDepth, long maxBarrierNanos)
      Registers a new bypass outbound queue.
      Type Parameters:
      T - handler type
      Parameters:
      handler - queue handler
      maxQueueDepth - max amount of not confirmed messaged in queue (i.e. edge for barrier message)
      maxBarrierNanos - regular base for barrier message
      Returns:
      An OutboundQueueHandlerRegistration
    • setPacketInFiltering

      @Beta void setPacketInFiltering(boolean enabled)
      Set filtering of PacketIn messages. By default these messages are not filtered.
      Parameters:
      enabled - True if PacketIn messages should be filtered, false if they should be reported.
    • setDatapathId

      void setDatapathId(BigInteger datapathId)
      Set datapathId for the dpn.
      Parameters:
      datapathId - of the dpn
    • setExecutorService

      void setExecutorService(ExecutorService executorService)
      Sets executorService.
      Parameters:
      executorService - for all dpns
    • barrier

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<BarrierOutput>> barrier(BarrierInput input)
      Invoke barrier RPC. See also Barrier.
      Parameters:
      input - of barrier
      Returns:
      output of barrier
    • echo

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<EchoOutput>> echo(EchoInput input)
      Invoke echo RPC. See also Echo.
      Parameters:
      input - of echo
      Returns:
      output of echo
    • echoReply

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<EchoReplyOutput>> echoReply(EchoReplyInput input)
      Invoke echo-reply RPC. See also EchoReply.
      Parameters:
      input - of echo-reply
      Returns:
      output of echo-reply
    • experimenter

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ExperimenterOutput>> experimenter(ExperimenterInput input)
      Invoke experimenter RPC. See also Experimenter.
      Parameters:
      input - of experimenter
      Returns:
      output of experimenter
    • flowMod

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<FlowModOutput>> flowMod(FlowModInput input)
      Invoke flow-mod RPC. See also FlowMod.
      Parameters:
      input - of flow-mod
      Returns:
      output of flow-mod
    • getAsync

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetAsyncOutput>> getAsync(GetAsyncInput input)
      Invoke get-async RPC. See also GetAsync.
      Parameters:
      input - of get-async
      Returns:
      output of get-async
    • getConfig

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetConfigOutput>> getConfig(GetConfigInput input)
      Invoke get-config RPC. See also GetConfig.
      Parameters:
      input - of get-config
      Returns:
      output of get-config
    • getFeatures

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetFeaturesOutput>> getFeatures(GetFeaturesInput input)
      Invoke get-features RPC. See also GetFeatures.
      Parameters:
      input - of get-features
      Returns:
      output of get-features
    • getQueueConfig

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetQueueConfigOutput>> getQueueConfig(GetQueueConfigInput input)
      Invoke get-queue-config RPC. See also GetQueueConfig.
      Parameters:
      input - of get-queue-config
      Returns:
      output of get-queue-config
    • groupMod

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GroupModOutput>> groupMod(GroupModInput input)
      Invoke group-mod RPC. See also GroupMod.
      Parameters:
      input - of group-mod
      Returns:
      output of group-mod
    • hello

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<HelloOutput>> hello(HelloInput input)
      Invoke hello RPC. See also Hello.
      Parameters:
      input - of hello
      Returns:
      output of hello
    • meterMod

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<MeterModOutput>> meterMod(MeterModInput input)
      Invoke meter-mod RPC. See also MeterMod.
      Parameters:
      input - of meter-mod
      Returns:
      output of meter-mod
    • multipartRequest

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<MultipartRequestOutput>> multipartRequest(MultipartRequestInput input)
      Invoke multipart-request RPC. See also MultipartRequest.
      Parameters:
      input - of multipart-request
      Returns:
      output of multipart-request
    • packetOut

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<PacketOutOutput>> packetOut(PacketOutInput input)
      Invoke packet-out RPC. See also PacketOut.
      Parameters:
      input - of packet-out
      Returns:
      output of packet-out
    • portMod

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<PortModOutput>> portMod(PortModInput input)
      Invoke port-mod RPC. See also PortMod.
      Parameters:
      input - of port-mod
      Returns:
      output of port-mod
    • roleRequest

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RoleRequestOutput>> roleRequest(RoleRequestInput input)
      Invoke role-request RPC. See also RoleRequest.
      Parameters:
      input - of role-request
      Returns:
      output of role-request
    • setAsync

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SetAsyncOutput>> setAsync(SetAsyncInput input)
      Invoke set-async RPC. See also SetAsync.
      Parameters:
      input - of set-async
      Returns:
      output of set-async
    • setConfig

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SetConfigOutput>> setConfig(SetConfigInput input)
      Invoke set-config RPC. See also SetConfig.
      Parameters:
      input - of set-config
      Returns:
      output of set-config
    • tableMod

      @NonNull com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<TableModOutput>> tableMod(TableModInput input)
      Invoke table-mod RPC. See also TableMod.
      Parameters:
      input - of table-mod
      Returns:
      output of table-mod