# `GRPC.Client.Stream`
[🔗](https://github.com/elixir-grpc/grpc/tree/master/grpc/blob/v1.0.1/lib/grpc/client/stream.ex#L1)

A struct that *streaming* clients get from rpc function calls and use to send further requests.

## Fields

  * `:channel`           - `GRPC.Channel`, the channel established by client
  * `:payload`           - data used by adapter in a request
  * `:path`              - the request path to sent
  * `:request_mod`       - the request module, or nil for untyped protocols
  * `:response_mod`      - the response module, or nil for untyped protocols
  * `:codec`             - the codec
  * `:req_stream`        - indicates if request is streaming
  * `:res_stream`        - indicates if reply is streaming

# `t`

```elixir
@type t() :: %GRPC.Client.Stream{
  __interface__: map(),
  accepted_compressors: [module()],
  canceled: boolean(),
  channel: GRPC.Channel.t(),
  codec: atom(),
  compressor: module(),
  grpc_type: atom(),
  headers: map(),
  method_name: String.t(),
  path: String.t(),
  payload: stream_payload(),
  request_mod: atom(),
  response_mod: atom(),
  rpc: tuple(),
  server_stream: boolean(),
  service_name: String.t()
}
```

# `put_headers`

# `receive_data`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
