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

MOOSDBVar notifications are not immediately propagated to MOOSAsyncCommClient users #42

Open
chrismurf opened this issue Apr 25, 2018 · 0 comments

Comments

@chrismurf
Copy link

If:

  • You have a MOOS community consisting of only a single client using the AsyncCommClient
  • And the client subscribes to DB_UPTIME, and publishes infrequently

Then:

  • DB_UPTIME will be added to the MOOSDB's HeldMailMap for the client every time it is updated, but
  • The client will not receive anything until any client sends a packet to the MOOSDB, at which point
  • All the DB_UPTIME notifications will be received roughly simultaneously, but significantly delayed.

I believe this is because ThreadedCommServer::ProcessClient() only iterates through asynchronous client threads when data is received, and MOOSDBVar changes do not trigger this processing. Thus, poking a variable with uMS or any client transmission will force processing.

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

No branches or pull requests

1 participant