-
Notifications
You must be signed in to change notification settings - Fork 5
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
Merge Typescript API into eclipse-zenoh #1
Conversation
…nd options to get desired module behaviour
…xpress, add webpack for web example
… internal Zenoh functions to js
…d js, TODO wasm, add README
…op, need to figure out what happens
…ffer from JS to WASM working
…en plugin and frontend
Implement B64 encode payload
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mostly looked at the public TypeScript API.
* | ||
* @returns Reply | ||
*/ | ||
async receive(): Promise<Reply | RecvErr> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this ought to throw an exception instead.
Only NTP64 can ensure timestamp uniqueness. RFC3339 is lossy. This reverts commit ccbfea8.
remote_api: { | ||
"websocket_port": "10000", | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If TLS/mTLS is supported an example on how to configure it should be present in the config.
Co-authored-by: Mahmoud Mazouz <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few things on the CI and packaging.
Overall I think the copyright year should be 2024 as the code was written this year.
According to the Eclipse Handbook, The copright header year is the year of the initial creation. I interpret this as the year in which the file was added to git. https://www.eclipse.org/projects/handbook/#ip-copyright-headers
This is a fairly large PR, To break it down and make it easier to consume.
zenoh-plugin-remote-api
Is a plugin thatRemoteAPIMsg
enum and all sub enums and structures inside.This set of interface definitions are consumed by the Typescript bindings
zenoh-ts
Is a set of bindings to the core Zenoh functions.Everything the user will interact with is exported via
/src/index.ts
Under the hood,
zenoh-ts
opens a Websocket connection connecting to thezenoh-plugin-remote-api
running on azenohd
instance and remotely manages resources.If the Websocket connection disconnects, the state (Publishers/Subscribers/Queryables) of that websocket connection is dropped by the plugin and a new session on the front end will have to be opened.
The interface files generated by the
zenoh-plugin-remote-api
are found inzenoh-ts/src/remote-api/interface
All files inside
zenoh-ts/src/remote-api/*
are used to manage messages between the Websocket and the user facing API.This includes long living resources such as
Queryables
and callback basedSubscribers