Commit 0b17047c authored by Olivier R-D's avatar Olivier R-D

Merge branch 'caching' of github.com:FreeOpcUa/python-opcua

parents 0ef428cd 4542dede
......@@ -21,15 +21,8 @@ from opcua import ua
from opcua import utils
from opcua import Node
from opcua.address_space import AddressSpace
from opcua.standard_address_space_part3 import create_standard_address_space_Part3
from opcua.standard_address_space_part4 import create_standard_address_space_Part4
from opcua.standard_address_space_part5 import create_standard_address_space_Part5
from opcua.standard_address_space_part8 import create_standard_address_space_Part8
from opcua.standard_address_space_part9 import create_standard_address_space_Part9
from opcua.standard_address_space_part10 import create_standard_address_space_Part10
from opcua.standard_address_space_part11 import create_standard_address_space_Part11
from opcua.standard_address_space_part13 import create_standard_address_space_Part13
from opcua.subscription_server import SubscriptionManager
from opcua import standard_address_space
class ThreadLoop(Thread):
......@@ -78,7 +71,8 @@ class InternalServer(object):
self.endpoints = []
self._channel_id_counter = 5
self.aspace = AddressSpace()
self.load_standard_address_space()
standard_address_space.fill_address_space(self.aspace)
#standard_address_space.fill_address_space_from_disk(self.aspace)
self.loop = ThreadLoop()
self.submanager = SubscriptionManager(self.loop, self.aspace)
# create a session to use on server side
......@@ -95,16 +89,6 @@ class InternalServer(object):
def dump_address_space(self, path):
self.aspace.dump(path)
def load_standard_address_space(self):
create_standard_address_space_Part3(self.aspace)
create_standard_address_space_Part4(self.aspace)
create_standard_address_space_Part5(self.aspace)
create_standard_address_space_Part8(self.aspace)
create_standard_address_space_Part9(self.aspace)
create_standard_address_space_Part10(self.aspace)
create_standard_address_space_Part11(self.aspace)
create_standard_address_space_Part13(self.aspace)
def start(self):
self.logger.info("starting internal server")
self.loop.start()
......
import os.path
import opcua
from opcua.standard_address_space_part3 import create_standard_address_space_Part3
from opcua.standard_address_space_part4 import create_standard_address_space_Part4
from opcua.standard_address_space_part5 import create_standard_address_space_Part5
from opcua.standard_address_space_part8 import create_standard_address_space_Part8
from opcua.standard_address_space_part9 import create_standard_address_space_Part9
from opcua.standard_address_space_part10 import create_standard_address_space_Part10
from opcua.standard_address_space_part11 import create_standard_address_space_Part11
from opcua.standard_address_space_part13 import create_standard_address_space_Part13
def fill_address_space(aspace):
create_standard_address_space_Part3(aspace)
create_standard_address_space_Part4(aspace)
create_standard_address_space_Part5(aspace)
create_standard_address_space_Part8(aspace)
create_standard_address_space_Part9(aspace)
create_standard_address_space_Part10(aspace)
create_standard_address_space_Part11(aspace)
create_standard_address_space_Part13(aspace)
def fill_address_space_from_disk(aspace):
dirname = os.path.dirname(opcua.__file__)
path = os.path.join(dirname, "binary_address_space.pickle")
aspace.load(path)
......@@ -337,6 +337,16 @@ def create_standard_address_space_%s(server):
self.writecode(indent, "refs.append(ref)")
self.writecode(indent, 'server.add_references(refs)')
def save_aspace_to_disk():
import os.path
path = os.path.join("..", "opcua", "binary_address_space.pickle")
print("Savind standard address space to:", path)
sys.path.append("..")
from opcua import address_space
from opcua import standard_address_space
aspace = address_space.AddressSpace()
standard_address_space.fill_address_space(aspace)
aspace.dump(path)
if __name__ == "__main__":
for i in (3, 4, 5, 8, 9, 10, 11, 13):
......@@ -345,4 +355,6 @@ if __name__ == "__main__":
c = CodeGenerator(xmlpath, cpppath)
c.run()
save_aspace_to_disk()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment