You've already forked comprehensive-rust
mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-06-27 19:18:59 +02:00
Add note about AIDL methods taking &self
(#2641)
This commit is contained in:
@ -23,6 +23,15 @@ _birthday_service/Android.bp_:
|
|||||||
|
|
||||||
- Point out the path to the generated `IBirthdayService` trait, and explain why
|
- Point out the path to the generated `IBirthdayService` trait, and explain why
|
||||||
each of the segments is necessary.
|
each of the segments is necessary.
|
||||||
|
- Note that `wishHappyBirthday` and other AIDL IPC methods take `&self` (instead
|
||||||
|
of `&mut self`).
|
||||||
|
- This is necessary because binder responds to incoming requests on a thread
|
||||||
|
pool, allowing for multiple requests to be processed in parallel. This
|
||||||
|
requires that the service methods only get a shared reference to `self`.
|
||||||
|
- Any state that needs to be modified by the service will have to be put in
|
||||||
|
something like a `Mutex` to allow for safe mutation.
|
||||||
|
- The correct approach for managing service state depends heavily on the
|
||||||
|
details of your service.
|
||||||
- TODO: What does the `binder::Interface` trait do? Are there methods to
|
- TODO: What does the `binder::Interface` trait do? Are there methods to
|
||||||
override? Where source?
|
override? Where source?
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user