Feat #58 - fix backpressure logic and update tests
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import re
|
||||
from typing import Set
|
||||
from typing import Optional, Set
|
||||
|
||||
from amqp.adapter.logging_utils import logging_info
|
||||
from amqp.model.model import AMQRoute
|
||||
@@ -55,6 +55,13 @@ class RouteDatabase:
|
||||
return route
|
||||
return None
|
||||
|
||||
def find_route_by_service(self, service_name: str) -> Optional[AMQRoute]:
|
||||
logging_info(f"findRoute service_name:{service_name} in:{self.wrap_routes()}")
|
||||
for route in self.routes:
|
||||
if route.component_name == service_name:
|
||||
return route
|
||||
return None
|
||||
|
||||
def add_route(self, route: AMQRoute) -> bool:
|
||||
if route not in self.routes:
|
||||
self.routes.add(route)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Callable, List, Set
|
||||
from typing import Callable, List, Optional, Set
|
||||
|
||||
from amqp.adapter.amq_route_factory import NULL_ROUTE, AMQRouteFactory
|
||||
from amqp.adapter.logging_utils import logging_debug, logging_error, logging_info
|
||||
@@ -49,6 +49,9 @@ class RouterBase:
|
||||
def find_route_by_message(self, message: DataMessage) -> AMQRoute | None:
|
||||
return self.route_database.find_route(message.domain(), message.path())
|
||||
|
||||
def find_route_by_service(self, service_name: str) -> Optional[AMQRoute]:
|
||||
return self.route_database.find_route_by_service(service_name)
|
||||
|
||||
def add_routes(self, message: str) -> None:
|
||||
try:
|
||||
amq_route_list = self.unwrap_route_list(message)
|
||||
|
||||
Reference in New Issue
Block a user