@@ -108,8 +108,8 @@ def composite_channel_credentials(
108108
109109def server (
110110 thread_pool : futures .ThreadPoolExecutor ,
111- handlers : list [GenericRpcHandler [ Any , Any ] ] | None = None ,
112- interceptors : list [ServerInterceptor [ Any , Any ] ] | None = None ,
111+ handlers : list [GenericRpcHandler ] | None = None ,
112+ interceptors : list [ServerInterceptor ] | None = None ,
113113 options : _Options | None = None ,
114114 maximum_concurrent_rpcs : int | None = None ,
115115 compression : Compression | None = None ,
@@ -173,7 +173,7 @@ def stream_stream_rpc_method_handler(
173173) -> RpcMethodHandler [_TRequest , _TResponse ]: ...
174174def method_handlers_generic_handler (
175175 service : str , method_handlers : dict [str , RpcMethodHandler [Any , Any ]]
176- ) -> GenericRpcHandler [ Any , Any ] : ...
176+ ) -> GenericRpcHandler : ...
177177
178178# Channel Ready Future:
179179
@@ -264,7 +264,7 @@ class Channel(abc.ABC):
264264
265265class Server (abc .ABC ):
266266 @abc .abstractmethod
267- def add_generic_rpc_handlers (self , generic_rpc_handlers : Iterable [GenericRpcHandler [ Any , Any ] ]) -> None : ...
267+ def add_generic_rpc_handlers (self , generic_rpc_handlers : Iterable [GenericRpcHandler ]) -> None : ...
268268
269269 # Returns an integer port on which server will accept RPC requests.
270270 @abc .abstractmethod
@@ -493,17 +493,19 @@ class HandlerCallDetails(abc.ABC):
493493 method : str
494494 invocation_metadata : _Metadata
495495
496- class GenericRpcHandler (abc .ABC , Generic [_TRequest , _TResponse ]):
496+ class GenericRpcHandler (abc .ABC ):
497+ # The return type depends on the handler call details.
497498 @abc .abstractmethod
498- def service (self , handler_call_details : HandlerCallDetails ) -> RpcMethodHandler [_TRequest , _TResponse ] | None : ...
499+ def service (self , handler_call_details : HandlerCallDetails ) -> RpcMethodHandler [Any , Any ] | None : ...
499500
500- class ServiceRpcHandler (GenericRpcHandler [ _TRequest , _TResponse ] , metaclass = abc .ABCMeta ):
501+ class ServiceRpcHandler (GenericRpcHandler , metaclass = abc .ABCMeta ):
501502 @abc .abstractmethod
502503 def service_name (self ) -> str : ...
503504
504505# Service-Side Interceptor:
505506
506- class ServerInterceptor (abc .ABC , Generic [_TRequest , _TResponse ]):
507+ class ServerInterceptor (abc .ABC ):
508+ # This method (not the class) is generic over _TRequest and _TResponse.
507509 @abc .abstractmethod
508510 def intercept_service (
509511 self ,
0 commit comments