Skip to content

binder: don't block in checkAuthorizationForServiceAsync()#7

Draft
jdcormie wants to merge 2 commits into
masterfrom
concurrent-server-auth
Draft

binder: don't block in checkAuthorizationForServiceAsync()#7
jdcormie wants to merge 2 commits into
masterfrom
concurrent-server-auth

Conversation

@jdcormie

Copy link
Copy Markdown
Owner

A method named xyzAsync() should not block. Potentially blocking
ServerSecurityPolicy work is now submitted to an "offload" Executor, just
like we do on the client. No functional change since by default that
offload Executor is the same one used to call
checkAuthorizationForServiceAsync() today.

jdcormie added 2 commits June 18, 2026 16:46
This new server executor mirrors the ManagedChannelBuilder concept on
the client. We'll use it to run blocking SecurityPolicy checks in a
subsequent commit.

For backwards compatibility, we default to using the server's
executor() for this purpose, which is where blocking SecurityPolicy
checks are run today. This ensures that all the same work is done on the
same threads for existing servers.
A method named xyzAsync() should not block. Potentially blocking
ServerSecurityPolicy work is now submit()ted to an offload Executor, just
like we do on the client. One small behavior change is that the first
call to every method now goes through the async path.
@jdcormie jdcormie force-pushed the concurrent-server-auth branch from 35e6d0b to 778f6ea Compare June 18, 2026 23:48
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.

1 participant