egrpc_stream (egrpc v0.1.1)

View Source

Summary

Types

close_send/0

-type close_send() :: fun((stream()) -> stream()).

init_req/0

-type init_req() :: fun((stream(), Opts :: map()) -> stream()).

parse_msg/0

-type parse_msg() ::
          fun((stream(), Buf :: binary()) ->
                  {ok, stream(), Response :: map(), Rest :: binary()} | more | {error, any()}).

recv_header/0

-type recv_header() :: fun((stream(), Timeout :: timeout()) -> {ok, stream()} | {error, any()}).

recv_msg/0

-type recv_msg() ::
          fun((stream(), Timeout :: timeout(), Buf :: binary()) ->
                  {ok, stream(), Response :: map(), Rest :: binary()} | {error, any()}).

send_msg/0

-type send_msg() :: fun((stream(), Request :: map(), IsFin :: fin | nofin) -> stream()).

stream/0

-type stream() ::
          #stream{channel :: egrpc_stub:channel(),
                  grpc :: egrpc:grpc(),
                  headers :: [{binary(), binary()}],
                  stream_ref :: undefined | gun:stream_ref(),
                  encoding :: identity | gzip,
                  encoder :: fun((any()) -> binary()),
                  decoder :: fun((binary()) -> any()),
                  stream_interceptor_chain ::
                      #stream_interceptor_chain{init_req :: init_req(),
                                                send_msg :: send_msg(),
                                                close_send :: close_send(),
                                                recv_header :: recv_header(),
                                                recv_msg :: recv_msg(),
                                                parse_msg :: parse_msg()} |
                      undefined,
                  stream_interceptor_states :: map(),
                  info :: term()}.

Functions

bidi_streaming(Stream, Opts)

cancel_stream(Stream)

-spec cancel_stream(stream()) -> ok.

channel(Stream)

client_streaming(Stream, Opts)

close_send(Stream)

-spec close_send(stream()) -> stream().

grpc(Stream)

grpc_method(Stream)

-spec grpc_method(egrpc:stream()) -> atom().

grpc_service(Stream)

-spec grpc_service(stream()) -> atom().

grpc_type(Stream)

-spec grpc_type(stream()) -> egrpc:grpc_type().

info(Stream)

info(Stream, Default)

new(Channel, Grpc)

-spec new(egrpc_stub:channel(), egrpc:grpc()) -> stream().

new_from_stream(Stream)

parse_msg(Stream, Buf0)

-spec parse_msg(stream(), binary()) -> {ok, stream(), map(), binary()} | more | {error, any()}.

recv_header(Stream, Timeout)

-spec recv_header(stream(), timeout()) -> {ok, stream()} | {error, any()}.

recv_msg(Stream, Timeout, Buf)

-spec recv_msg(stream(), timeout(), binary()) -> Result
                  when Result :: {ok, stream(), map(), binary()} | {error, any()} | more.

recv_response(Stream, Timeout)

-spec recv_response(stream(), timeout()) -> {ok, map()} | {error, any()}.

send_msg(Stream, Request, IsFin)

-spec send_msg(stream(), map(), fin | nofin) -> stream().

server_streaming(Stream, Request, Opts0)

set_info(Stream, Info)

stream_ref(Stream)

unary(Stream, Request0, Opts0)