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