Skip to content
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

Chiara/websockets cherrypicking #991

Merged
merged 6 commits into from
Sep 13, 2024
Merged

Conversation

ch-iara
Copy link
Contributor

@ch-iara ch-iara commented Sep 12, 2024

No description provided.

This new and improved version of the checkin loop no longer needs to
wait for ops to send responses to http requests in order to complete
the checkin flow and receive operator updates. Now, with the websocket
replacement loop we can be sure ops has received data and not block on
whether or not we receive an OperatorUpdateMessage as ops will process
separately and send back on its own time.

The websocket loop will keep trying to connect to ops even if connection
is dropped or refused (as in cases where ops restarts)
We now send websocket messages as a variant of an enum type to make
deserialization easier. This change also groups related(processed
together on ops) data together to simplify and reduce ops db load,
as it doesn't make sense to send individual messages for every
piece of data when a DB read/write to a device entry is needed for
processing.

Previously used, now-legacy checkin and update structs have been
kept but moved to the legacy.rs file to allow ops to retain function
for older routers.
@jkilpatr jkilpatr merged commit 7f100c9 into master Sep 13, 2024
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants