| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | 
							- gRPC AsyncIO API
 
- ================
 
- .. module:: grpc.aio
 
- Overview
 
- --------
 
- gRPC AsyncIO API is the **new version** of gRPC Python whose architecture is
 
- tailored to AsyncIO. Underlying, it utilizes the same C-extension, gRPC C-Core,
 
- as existing stack, and it replaces all gRPC IO operations with methods provided
 
- by the AsyncIO library.
 
- This API is stable. Feel free to open issues on our GitHub repo
 
- `grpc/grpc <https://github.com/grpc/grpc>`_ for bugs or suggestions.
 
- The design doc can be found here as `gRFC <https://github.com/grpc/proposal/pull/155>`_.
 
- Caveats
 
- -------
 
- gRPC Async API objects may only be used on the thread on which they were
 
- created. AsyncIO doesn't provide thread safety for most of its APIs.
 
- Blocking Code in AsyncIO
 
- ------------------------
 
- Making blocking function calls in coroutines or in the thread running event
 
- loop will block the event loop, potentially starving all RPCs in the process.
 
- Refer to the Python language documentation on AsyncIO for more details (`running-blocking-code <https://docs.python.org/3/library/asyncio-dev.html#running-blocking-code>`_).
 
- Module Contents
 
- ---------------
 
- Create Channel
 
- ^^^^^^^^^^^^^^
 
- Channels are the abstraction of clients, where most of networking logic
 
- happens, for example, managing one or more underlying connections, name
 
- resolution, load balancing, flow control, etc.. If you are using ProtoBuf,
 
- Channel objects works best when further encapsulate into stub objects, then the
 
- application can invoke remote functions as if they are local functions.
 
- .. autofunction:: insecure_channel
 
- .. autofunction:: secure_channel
 
- Channel Object
 
- ^^^^^^^^^^^^^^
 
- .. autoclass:: Channel
 
- Create Server
 
- ^^^^^^^^^^^^^
 
- .. autofunction:: server
 
- Server Object
 
- ^^^^^^^^^^^^^
 
- .. autoclass:: Server
 
- gRPC Exceptions
 
- ^^^^^^^^^^^^^^^
 
- .. autoexception:: BaseError
 
- .. autoexception:: UsageError
 
- .. autoexception:: AbortError
 
- .. autoexception:: InternalError
 
- .. autoexception:: AioRpcError
 
- Shared Context
 
- ^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: RpcContext
 
- Client-Side Context
 
- ^^^^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: Call
 
- .. autoclass:: UnaryUnaryCall
 
- .. autoclass:: UnaryStreamCall
 
- .. autoclass:: StreamUnaryCall
 
- .. autoclass:: StreamStreamCall
 
- Server-Side Context
 
- ^^^^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: ServicerContext
 
- Client-Side Interceptor
 
- ^^^^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: ClientCallDetails
 
- .. autoclass:: InterceptedUnaryUnaryCall
 
- .. autoclass:: ClientInterceptor
 
- .. autoclass:: UnaryUnaryClientInterceptor
 
- .. autoclass:: UnaryStreamClientInterceptor
 
- .. autoclass:: StreamUnaryClientInterceptor
 
- .. autoclass:: StreamStreamClientInterceptor
 
- Server-Side Interceptor
 
- ^^^^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: ServerInterceptor
 
- Multi-Callable Interfaces
 
- ^^^^^^^^^^^^^^^^^^^^^^^^^
 
- .. autoclass:: UnaryUnaryMultiCallable
 
- .. autoclass:: UnaryStreamMultiCallable()
 
- .. autoclass:: StreamUnaryMultiCallable()
 
- .. autoclass:: StreamStreamMultiCallable()
 
 
  |