Skip to content

Commit 2636ebb

Browse files
committed
Address review from server interceptor executor design comments.
1 parent e37245c commit 2636ebb

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

‎api/src/main/java/io/grpc/ServerCall.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ public String getAuthority() {
279279
* Triggers a custom event to be processed by the listener.
280280
* The event will be delivered to {@link Listener#onEvent(Object)} on the call's executor.
281281
*
282-
* <p>This method is thread-safe and can be called from any thread.
282+
* <p>This method is thread-safe and can be called from any thread. No events will be delivered
283+
* after the RPC is cancelled or completed.
283284
*
284285
* @param event the event to trigger.
285286
*/

‎core/src/main/java/io/grpc/internal/AbstractServerStream.java‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,7 @@ public final void triggerEvent(final Object event) {
178178
transportState().runOnTransportThread(new Runnable() {
179179
@Override
180180
public void run() {
181-
if (transportState().listener != null) {
182-
transportState().listener.triggerEvent(event);
183-
}
181+
transportState().triggerEvent(event);
184182
}
185183
});
186184
}
@@ -271,6 +269,13 @@ public void deframerClosed(boolean hasPartialMessage) {
271269

272270

273271

272+
public final void triggerEvent(Object event) {
273+
if (listenerClosed) {
274+
return;
275+
}
276+
listener().triggerEvent(event);
277+
}
278+
274279
@Override
275280
protected ServerStreamListener listener() {
276281
return listener;

0 commit comments

Comments
 (0)