(self, shelffile=None, user_manager=None, session_cls=None)
| 40 | class InternalServer(object): |
| 41 | |
| 42 | def __init__(self, shelffile=None, user_manager=None, session_cls=None): |
| 43 | self.logger = logging.getLogger(__name__) |
| 44 | |
| 45 | self.server_callback_dispatcher = CallbackDispatcher() |
| 46 | |
| 47 | self.endpoints = [] |
| 48 | self._channel_id_counter = 5 |
| 49 | self.disabled_clock = False # for debugging we may want to disable clock that writes too much in log |
| 50 | self._local_discovery_service = None # lazy-loading |
| 51 | |
| 52 | self.aspace = AddressSpace() |
| 53 | self.attribute_service = AttributeService(self.aspace) |
| 54 | self.view_service = ViewService(self.aspace) |
| 55 | self.method_service = MethodService(self.aspace) |
| 56 | self.node_mgt_service = NodeManagementService(self.aspace) |
| 57 | |
| 58 | self.load_standard_address_space(shelffile) |
| 59 | |
| 60 | self.loop = None |
| 61 | self.asyncio_transports = [] |
| 62 | self.subscription_service = SubscriptionService(self.aspace) |
| 63 | |
| 64 | self.history_manager = HistoryManager(self) |
| 65 | self.user_manager = user_manager |
| 66 | |
| 67 | # create a session to use on server side |
| 68 | self.session_cls = session_cls or InternalSession |
| 69 | self.isession = self.session_cls(self, self.aspace, \ |
| 70 | self.subscription_service, "Internal", user=UserManager.User.Admin) |
| 71 | |
| 72 | self.server_status_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus)) |
| 73 | self.current_time_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) |
| 74 | self._address_space_fixes() |
| 75 | self.setup_nodes() |
| 76 | |
| 77 | @property |
| 78 | def thread_loop(self): |
nothing calls this directly
no test coverage detected