|
|
|
@ -39,6 +39,7 @@ |
|
|
|
|
#include <grpc/support/time.h> |
|
|
|
|
#include "src/core/lib/iomgr/pollset.h" |
|
|
|
|
#include "src/core/lib/iomgr/pollset_set.h" |
|
|
|
|
#include "src/core/lib/iomgr/sockaddr.h" |
|
|
|
|
|
|
|
|
|
/* An endpoint caps a streaming channel between two communicating processes.
|
|
|
|
|
Examples may be: a tcp socket, <stdin+stdout>, or some shared memory. */ |
|
|
|
@ -59,6 +60,7 @@ struct grpc_endpoint_vtable { |
|
|
|
|
void (*shutdown)(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep); |
|
|
|
|
void (*destroy)(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep); |
|
|
|
|
char *(*get_peer)(grpc_endpoint *ep); |
|
|
|
|
GRPC_SOCKET *(*get_socket)(grpc_endpoint *ep); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* When data is available on the connection, calls the callback with slices.
|
|
|
|
@ -71,6 +73,10 @@ void grpc_endpoint_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, |
|
|
|
|
|
|
|
|
|
char *grpc_endpoint_get_peer(grpc_endpoint *ep); |
|
|
|
|
|
|
|
|
|
/* Get the socket (file descriptor or SOCKET) used by \a ep. Return NULL if
|
|
|
|
|
\a ep is not using a socket. */ |
|
|
|
|
GRPC_SOCKET *grpc_endpoint_get_socket(grpc_endpoint *ep); |
|
|
|
|
|
|
|
|
|
/* Retrieve a reference to the workqueue associated with this endpoint */ |
|
|
|
|
grpc_workqueue *grpc_endpoint_get_workqueue(grpc_endpoint *ep); |
|
|
|
|
|
|
|
|
|