Files
colony/colony/core/context.py
T
ciomek 125f753517
Build and Push Docker Image / build-and-push (push) Successful in 2m21s
chatter
2026-09-26 18:13:02 +02:00

53 lines
1.7 KiB
Python

from colony.core.network.nodes import LocalNode
from colony.role_registry import RoleRegistry
class RoleContext:
def __init__(self, network, role_manager):
self._network = network
self._role_manager = role_manager
def execute(self, command, *args, **kwargs):
return self._network.execute(command, *args, **kwargs)
def execute_on(self, target, command, *args, **kwargs):
return self._network.send_command(target.ip, target.port, command, *args, **kwargs)
def execute_to_unregistered_node(self, ip, port, command, *args, **kwargs):
return self._network.send_command(ip, port, command, *args, **kwargs)
def send_direct(self, ip, port, payload, timeout=None, connect_timeout=None):
return self._network.send_direct(ip, port, payload, timeout, connect_timeout)
def is_direct(self, key):
return self._network.is_direct(key)
def route_of(self, key):
return self._network.route_of(key)
def set_dial_alias(self, key, address):
self._network.set_dial_alias(key, address)
def peers(self):
return self._network.get_all_nodes()
def node_by_id(self, node_id):
return self._network.get_node_by_id(node_id)
def nodes_with_role(self, role):
return self._network.get_nodes_of_role(role if isinstance(role, str) else role.__name__)
def membership(self):
return self._network.membership
def self(self) -> LocalNode:
return self._network.get_self()
def set_self_node_roles(self, roles):
self._role_manager.set_roles(roles)
def get_role_manager(self):
return self._role_manager
def get_role_registry(self) -> RoleRegistry:
return self._role_manager.role_registry