-
Notifications
You must be signed in to change notification settings - Fork 416
basic pubsub #826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
basic pubsub #826
Conversation
d90117b to
eb5c29d
Compare
|
So took me sometime to address the api changes. |
- mirror change from mypy - ignore mypy errors - better to fix issues step by step
get_origin, get_args already defined
* Previously a client could not read values with bad status. * This functionality can be toggled on and off. * Added tests. Fixes FreeOpcUa#856
prevents unsupported identity tokens to create a session
MinimumSamplingInterval is from Type Duration/Double so a float. Correct xmlparser.
Comparing 1.04.7 and 1.04.11 failed, use compare list instead of str compare.
Allow fields in structs that are subtype of a class.
- DataSetFieldFlags is only from type UInt16 instead of UInt32 - Default Optionset to UInt32 instead of Int32
- Fix mypy - Fix other errors
|
Can we get a rebase and merge of this (even as an unstable API)? PubSub is now used by CODESYS, and it is being adopted by a couple other big vendors. |
|
@schroeder- Could you rebase this so we can work on it? |
@alexchandel if you intend to work on that, I think it is faster for you to do the rebase yourself. We never manager to find a very good high level api |
First of this pr is just a preview, to gather feedback about the api design. Pubsub is really complex and a lot of things are not implemented or handled correctly.
Points of interests are examples/pubsub/publisher_simple.py and examples/pubsub/publisher_simple.py.
Running both examples creates an publishing server on port 4840 with a folder "PublisherDemoNodes" with variables. This variables are send via uadp-udp, to the subscriber. On port 4841 the subscriber server has a folder "PublisherDemoNodes" where the variables revived via pubsub are mirrored. You can now change the variables on the publisher (Port 4840) and the values will be mirrored on the subscriber.
TODO
implemented features
Messagetypes:
Transportlayer
Informationmodel