equal
deleted
inserted
replaced
25 |
25 |
26 from __future__ import absolute_import |
26 from __future__ import absolute_import |
27 from __future__ import print_function |
27 from __future__ import print_function |
28 import sys |
28 import sys |
29 import traceback |
29 import traceback |
|
30 from functools import partial |
30 from threading import Thread, Event |
31 from threading import Thread, Event |
31 from six import text_type as text |
32 from six import text_type as text |
32 |
33 |
33 from twisted.internet import reactor, threads |
34 from twisted.internet import reactor, threads |
34 from autobahn.twisted import wamp |
35 from autobahn.twisted import wamp |
64 "GetPLCstatus": (PlcStatus.Broken, None), |
65 "GetPLCstatus": (PlcStatus.Broken, None), |
65 "RemoteExec": (-1, "RemoteExec script failed!") |
66 "RemoteExec": (-1, "RemoteExec script failed!") |
66 } |
67 } |
67 |
68 |
68 |
69 |
69 def WAMP_connector_factory(uri, confnodesroot): |
70 def _WAMP_connector_factory(cls, uri, confnodesroot): |
70 """ |
71 """ |
71 WAMP://127.0.0.1:12345/path#realm#ID |
72 WAMP://127.0.0.1:12345/path#realm#ID |
72 WAMPS://127.0.0.1:12345/path#realm#ID |
73 WAMPS://127.0.0.1:12345/path#realm#ID |
73 """ |
74 """ |
74 scheme, location = uri.split("://") |
75 scheme, location = uri.split("://") |
86 component_config = types.ComponentConfig( |
87 component_config = types.ComponentConfig( |
87 realm=text(realm), |
88 realm=text(realm), |
88 extra={"ID": ID}) |
89 extra={"ID": ID}) |
89 session_factory = wamp.ApplicationSessionFactory( |
90 session_factory = wamp.ApplicationSessionFactory( |
90 config=component_config) |
91 config=component_config) |
91 session_factory.session = WampSession |
92 session_factory.session = cls |
92 |
93 |
93 # create a WAMP-over-WebSocket transport client factory |
94 # create a WAMP-over-WebSocket transport client factory |
94 transport_factory = WampWebSocketClientFactory( |
95 transport_factory = WampWebSocketClientFactory( |
95 session_factory, |
96 session_factory, |
96 url=url, |
97 url=url, |
155 |
156 |
156 # TODO : GetPLCID() |
157 # TODO : GetPLCID() |
157 # TODO : PSK.UpdateID() |
158 # TODO : PSK.UpdateID() |
158 |
159 |
159 return WampPLCObjectProxy |
160 return WampPLCObjectProxy |
|
161 |
|
162 WAMP_connector_factory = partial(_WAMP_connector_factory, WampSession) |