From 3075c810280b797b5c932c38e0382633cfe3774c Mon Sep 17 00:00:00 2001 From: Sree Kuchibhotla Date: Fri, 29 Jan 2016 18:25:22 -0800 Subject: Update comment on TryCancel() API --- include/grpc++/impl/codegen/server_context.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'include/grpc++/impl/codegen') diff --git a/include/grpc++/impl/codegen/server_context.h b/include/grpc++/impl/codegen/server_context.h index d3086aef0a..ad08b8210d 100644 --- a/include/grpc++/impl/codegen/server_context.h +++ b/include/grpc++/impl/codegen/server_context.h @@ -106,14 +106,16 @@ class ServerContext { bool IsCancelled() const; // Cancel the Call from the server. This is a best-effort API and depending on - // when this is called, the Call may still appear successful to the client. - // For example, if called on a separate thread, it might race with the - // server handler which might return success to the client before TryCancel() - // was called. + // when it is called, the RPC may still appear successful to the client. + // For example, if TryCancel() is called on a separate thread, it might race + // with the server handler which might return success to the client before + // TryCancel() was even started by the thread. // - // It is the caller's responsibility to prevent such races and ensure that the - // serverhandler returns Status::CANCELLED if TryCancel() is called (unless - // the serverhandler is already returning an error code) + // It is the caller's responsibility to prevent such races and ensure that if + // TryCancel() is called, the serverhandler must return Status::CANCELLED. The + // only exception is that if the serverhandler is already returning an error + // status code, it is ok to not return Status::CANCELLED even if TryCancel() + // was called. void TryCancel() const; const std::multimap& client_metadata() { -- cgit v1.2.3