commons-networking

Commons networking related utils.

Note: This is not an official Cisco product.

Features

SSE client

SSE client implementation based on Java 11 HttpClient.
Server-Sent Events (SSE) is a server push technology
enabling a client to receive automatic updates from a server via HTTP connection.
The Server-Sent Events EventSource API is standardized as part of
HTML.
It is used for unidirectional server to client events, as opposed to the full-duplex bidirectional WebSockets.
One of the use cases is by IEFT Netconf/Restconf protocols:
IETF reference

Example usage

SSEClientTest

EventHandler eventHandler = eventText -> { events.add(eventText); };
SSEClient sseClient = SSEClient.builder().url(url).eventHandler(eventHandler)
	.build();
sseClient.start();

GNMI Utils

Parsing string representation of GNMI paths.
Following:
Representing GNMI paths as strings

This is useful for device collection / GNMI path configuration.

Example usage

GNMIUtilsTest

String gnmiPathStr = "openconfig-interfaces/interfaces/interface[name=Ethernet/1/2/3]/state";
Path parsedPath = GNMIUtils.parseGNMIPathStr(gnmiPathStr);

Quality Assurance

Code analysis

Code analysis done with Sonar, and code review.

Testing

Flows are covered by unit tests and manual testing.

Build

Run maven install on commons-networking parent.

Contributions

Licensing


Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Author

Liran Mendelovich

Cisco

View code on GitHub
  • Owner

  • Contributors

    +1Github contributor
  • Categories

  • Programming Languages

    Java
  • License

    Apache License 2.0

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.