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

Batch sending of RPC Requests #857

Merged
merged 17 commits into from
Feb 26, 2018

Conversation

joeljfischer
Copy link
Contributor

@joeljfischer joeljfischer commented Jan 31, 2018

Fixes #723

This PR is ready for review.

Risk

This PR makes minor API changes.

Testing Plan

Unit tests will be added

Summary

Add support for batch sending RPCs sequentially. Either one right after another, or waiting for the last to return before sending the next.

Changelog

Enhancements
  • Add support for batch sending RPCs sequentially. Either one right after another, or waiting for the last to return before sending the next.

Tasks Remaining:

  • Testing
  • Add sequential RPC operation
  • Hook up operations to SDLLifecycleManager

CLA

* Add Aysnchronous RPC Request operation
* Add stub for Synchronous RPC Request operation
@joeljfischer joeljfischer added enhancement proposal Accepted SDL Evolution Proposal labels Jan 31, 2018
@joeljfischer joeljfischer added this to the 5.2.0 milestone Jan 31, 2018
@joeljfischer joeljfischer self-assigned this Jan 31, 2018
* SDLAsynchronousRPCRequestOperation handles single RPC requests as well
* Fix name of SDLAsynchronousRPCRequestOperation
* SDLConnectionManagerType now can send a “regular”/“non-manager” RPC request
* Add RPC Operation queue to the lifecycle manager
@joeljfischer joeljfischer force-pushed the feature/issue_723_sequential_send_rpcs branch from d0dd243 to e25821e Compare February 7, 2018 18:06
@joeljfischer joeljfischer changed the title WIP: Batch sending of RPC Requests Batch sending of RPC Requests Feb 19, 2018
# Conflicts:
#	SmartDeviceLink/SDLLifecycleManager.m
Copy link
Contributor

@NicoleYarroch NicoleYarroch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested with Livio Music player and Core 4.4.1. Sending multipleCreateInteractionChoiceSets and SubscribeButtons sequentially and simultaneously worked correctly.

Known issue: On both SYNC 3 and Manticore, sending multiple requests simultaneously usually failed after first 2-5.

@joeljfischer
Copy link
Contributor Author

@NicoleYarroch

Known issue: On both SYNC 3 and Manticore, sending multiple requests simultaneously usually failed after first 2-5.

What do you mean by "sending multiple requests simultaneously"? And does it recover?

@NicoleYarroch
Copy link
Contributor

NicoleYarroch commented Feb 26, 2018

@joeljfischer

To test this PR, I sent 13 CreateInteractionChoiceSets at once. If I send them one-by-one, so the next one is only sent after a response is received from Core, everything works fine. If I send them all at once, without waiting for a response, the first 2-5 will succeed but the rest will fail with GENERIC_ERROR. The latter error is true for both Manticore (v. 4.4.1) and SYNC 3 (v. 3.0). Both sends work when testing with SDL_Core (v. 4.4.1) and the Generic HMI (v. 0.3.1).

This error has been reported to the Manticore team. Due to more pressing issues, they will not be able to investigate immediately.

@joeljfischer joeljfischer merged commit da3050e into develop Feb 26, 2018
@joeljfischer joeljfischer deleted the feature/issue_723_sequential_send_rpcs branch February 26, 2018 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Accepted SDL Evolution Proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants