|
6 | 6 | import threading
|
7 | 7 | import time
|
8 | 8 | from concurrent import futures
|
9 |
| -from typing import Type |
| 9 | +from typing import Iterable, Type |
10 | 10 |
|
11 | 11 | import grpc
|
12 | 12 | from grpc import ServicerContext
|
|
39 | 39 | from core.api.grpc.emane_pb2 import (
|
40 | 40 | EmaneLinkRequest,
|
41 | 41 | EmaneLinkResponse,
|
| 42 | + EmanePathlossesRequest, |
| 43 | + EmanePathlossesResponse, |
42 | 44 | GetEmaneConfigRequest,
|
43 | 45 | GetEmaneConfigResponse,
|
44 | 46 | GetEmaneEventChannelRequest,
|
@@ -1751,3 +1753,17 @@ def WlanLink(
|
1751 | 1753 | wlan.model.sendlinkmsg(n1_netif, n2_netif, unlink=not request.linked)
|
1752 | 1754 | result = True
|
1753 | 1755 | return WlanLinkResponse(result=result)
|
| 1756 | + |
| 1757 | + def EmanePathlosses( |
| 1758 | + self, |
| 1759 | + request_iterator: Iterable[EmanePathlossesRequest], |
| 1760 | + context: ServicerContext, |
| 1761 | + ) -> EmanePathlossesResponse: |
| 1762 | + for request in request_iterator: |
| 1763 | + session = self.get_session(request.session_id, context) |
| 1764 | + n1 = self.get_node(session, request.node_one, context, CoreNode) |
| 1765 | + nem1 = grpcutils.get_nem_id(n1, request.interface_one_id, context) |
| 1766 | + n2 = self.get_node(session, request.node_two, context, CoreNode) |
| 1767 | + nem2 = grpcutils.get_nem_id(n2, request.interface_two_id, context) |
| 1768 | + session.emane.publish_pathloss(nem1, nem2, request.rx_one, request.rx_two) |
| 1769 | + return EmanePathlossesResponse() |
0 commit comments