Add transport-{api,tcp} 24/102124/59
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 10 Aug 2022 18:23:21 +0000 (20:23 +0200)
committerRobert Varga <nite@hq.sk>
Thu, 20 Oct 2022 14:36:02 +0000 (14:36 +0000)
commit4016802fe8e28993c7ed0917a4d8c710a3e756ed
treebc4bae58b787f7ac1c231f7c6557a7baf475ba56
parentac2a8edba9d637a07308c66d33f39cca6fdd1ae5
Add transport-{api,tcp}

NETCONF (and potentially RESTCONF) has rather well-defined concepts
how it works on the transport layer. Furthermore there are quite mature
YANG models covering the configuration of both NETCONF server and
NETCONF client.

This patch introduces the transport-level APIs to establish a transport
stack and its interactions with protocol negotiation and then the
messages layer. A baseline implementation based on plain TCP is also
provided.

JIRA: NETCONF-590
Change-Id: I29c207a2036e1c54ea1f6d7fe48f7eb42a3a4a7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
29 files changed:
artifacts/pom.xml
pom.xml
transport/pom.xml [new file with mode: 0644]
transport/transport-api/pom.xml [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/AbstractOverlayTransportChannel.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/AbstractOverlayTransportStack.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/AbstractTransportStack.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/TransportChannel.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/TransportChannelListener.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/TransportStack.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/UnsupportedConfigurationException.java [new file with mode: 0644]
transport/transport-api/src/main/java/org/opendaylight/netconf/transport/api/package-info.java [new file with mode: 0644]
transport/transport-tcp/pom.xml [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/AbstractNettyImpl.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/EpollNettyImpl.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/IetfTcpClientFeatureProvider.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/IetfTcpCommonFeatureProvider.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/IetfTcpServerFeatureProvider.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/NettyTransportSupport.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/NioNettyImpl.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/TCPClient.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/TCPServer.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/TCPTransportChannel.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/TCPTransportStack.java [new file with mode: 0644]
transport/transport-tcp/src/main/java/org/opendaylight/netconf/transport/tcp/package-info.java [new file with mode: 0644]
transport/transport-tcp/src/main/yang/ietf-tcp-client@2022-05-24.yang [new file with mode: 0644]
transport/transport-tcp/src/main/yang/ietf-tcp-common@2022-05-24.yang [new file with mode: 0644]
transport/transport-tcp/src/main/yang/ietf-tcp-server@2022-05-24.yang [new file with mode: 0644]
transport/transport-tcp/src/test/java/org/opendaylight/netconf/transport/tcp/TCPClientServerTest.java [new file with mode: 0644]