grpc: updated client methods to allow passing source for add_link/delete_link, None by default

This commit is contained in:
Blake Harnden 2020-06-26 14:44:13 -07:00
parent aebbff8c22
commit f921fa45c5
2 changed files with 9 additions and 3 deletions

View file

@ -614,6 +614,7 @@ class CoreGrpcClient:
iface1: core_pb2.Interface = None, iface1: core_pb2.Interface = None,
iface2: core_pb2.Interface = None, iface2: core_pb2.Interface = None,
options: core_pb2.LinkOptions = None, options: core_pb2.LinkOptions = None,
source: str = None,
) -> core_pb2.AddLinkResponse: ) -> core_pb2.AddLinkResponse:
""" """
Add a link between nodes. Add a link between nodes.
@ -624,6 +625,7 @@ class CoreGrpcClient:
:param iface1: node one interface data :param iface1: node one interface data
:param iface2: node two interface data :param iface2: node two interface data
:param options: options for link (jitter, bandwidth, etc) :param options: options for link (jitter, bandwidth, etc)
:param source: application source adding link
:return: response with result of success or failure :return: response with result of success or failure
:raises grpc.RpcError: when session or one of the nodes don't exist :raises grpc.RpcError: when session or one of the nodes don't exist
""" """
@ -635,7 +637,9 @@ class CoreGrpcClient:
iface2=iface2, iface2=iface2,
options=options, options=options,
) )
request = core_pb2.AddLinkRequest(session_id=session_id, link=link) request = core_pb2.AddLinkRequest(
session_id=session_id, link=link, source=source
)
return self.stub.AddLink(request) return self.stub.AddLink(request)
def edit_link( def edit_link(
@ -676,6 +680,7 @@ class CoreGrpcClient:
node2_id: int, node2_id: int,
iface1_id: int = None, iface1_id: int = None,
iface2_id: int = None, iface2_id: int = None,
source: str = None,
) -> core_pb2.DeleteLinkResponse: ) -> core_pb2.DeleteLinkResponse:
""" """
Delete a link between nodes. Delete a link between nodes.
@ -685,6 +690,7 @@ class CoreGrpcClient:
:param node2_id: node two id :param node2_id: node two id
:param iface1_id: node one interface id :param iface1_id: node one interface id
:param iface2_id: node two interface id :param iface2_id: node two interface id
:param source: application source deleting link
:return: response with result of success or failure :return: response with result of success or failure
:raises grpc.RpcError: when session doesn't exist :raises grpc.RpcError: when session doesn't exist
""" """
@ -694,6 +700,7 @@ class CoreGrpcClient:
node2_id=node2_id, node2_id=node2_id,
iface1_id=iface1_id, iface1_id=iface1_id,
iface2_id=iface2_id, iface2_id=iface2_id,
source=source,
) )
return self.stub.DeleteLink(request) return self.stub.DeleteLink(request)

View file

@ -833,12 +833,11 @@ class Session:
for handler in self.config_handlers: for handler in self.config_handlers:
handler(config_data) handler(config_data)
def broadcast_link(self, link_data: LinkData, source: str = None) -> None: def broadcast_link(self, link_data: LinkData) -> None:
""" """
Handle link data that should be provided to link handlers. Handle link data that should be provided to link handlers.
:param link_data: link data to send out :param link_data: link data to send out
:param source: source of broadcast, None by default
:return: nothing :return: nothing
""" """
for handler in self.link_handlers: for handler in self.link_handlers: