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

Async completion for void return calls #21

Open
guruofquality opened this issue Aug 17, 2016 · 0 comments
Open

Async completion for void return calls #21

guruofquality opened this issue Aug 17, 2016 · 0 comments

Comments

@guruofquality
Copy link
Contributor

Use a form of windowing to speed up application of configuration settings for void return calls. This will be a non default option on the device constructor arguments:

A void return call is implemented like so:

    packer & args;
    ...etc...
    packer();

    SoapyRPCUnpacker unpacker(_sock);
}

Changes

A change in the SoapyRPCUnpacker with a shared state object will allow the unpacker to implement the windowed logic. The unpacker can decide to ack previous calls that were void 1) when the window length is reached, or 2) the call is a non-void return and we need the result:

    packer & args;
    ...etc...
    packer();

    SoapyRPCUnpacker unpacker(_asyncState, _sock);
}

Tasks

  • [ ] Need optional args to set control window size (default 0)
  • [ ] All unpacker calls need the state passed in
  • [ ] Unpacker implements windowing algorithm
  • [ ] Error handling when the async call returned an exception
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant