Current section

113 Versions

Jump to

Compare versions

5 files changed
+13 additions
-4 deletions
  @@ -1,6 +1,6 @@
1 1 PROJECT = brod
2 2 PROJECT_DESCRIPTION = Kafka client library in Erlang
3 - PROJECT_VERSION = 3.5.0
3 + PROJECT_VERSION = 3.5.1
4 4
5 5 DEPS = supervisor3 kafka_protocol
6 6 TEST_DEPS = docopt jsone meck proper
  @@ -135,6 +135,14 @@ ClientConfig = [{reconnect_cool_down_seconds, 10}],
135 135 ok = brod:start_client([{"localhost", 9092}], brod_client_1, ClientConfig).
136 136 ```
137 137
138 + Extra [socket options](http://erlang.org/doc/man/gen_tcp.html#type-option)
139 + could be passed as `{extra_sock_opts, ExtraSockOpts}`, e.g.
140 +
141 + ```erlang
142 + ExtraSockOpts = [{sndbuf, 1024*1024}],
143 + ok = brod:start_client([{"localhost", 9092}], brod_client_1, [{extra_sock_opts, ExtraSockOpts}]).
144 + ```
145 +
138 146 # Producers
139 147
140 148 ## Auto start producer with default producer config
  @@ -1,5 +1,5 @@
1 1 {<<"name">>,<<"brod">>}.
2 - {<<"version">>,<<"3.5.0">>}.
2 + {<<"version">>,<<"3.5.1">>}.
3 3 {<<"requirements">>,
4 4 #{<<"kafka_protocol">> =>
5 5 #{<<"app">> => <<"kafka_protocol">>,<<"optional">> => false,
  @@ -1,6 +1,6 @@
1 1 {application,brod,
2 2 [{description,"Apache Kafka Erlang client library"},
3 - {vsn,"3.5.0"},
3 + {vsn,"3.5.1"},
4 4 {registered,[]},
5 5 {applications,[kernel,stdlib,ssl,kafka_protocol,supervisor3]},
6 6 {env,[]},
  @@ -166,7 +166,8 @@ debug(Pid, File) when is_list(File) ->
166 166 binary(), options()) -> no_return().
167 167 init(Parent, Host, Port, ClientId, Options) ->
168 168 Timeout = get_connect_timeout(Options),
169 - SockOpts = [{active, once}, {packet, raw}, binary, {nodelay, true}],
169 + ExtraSockOpts = proplists:get_value(extra_sock_opts, Options, []),
170 + SockOpts = [{active, once}, {packet, raw}, binary] ++ ExtraSockOpts,
170 171 case gen_tcp:connect(Host, Port, SockOpts, Timeout) of
171 172 {ok, Sock} ->
172 173 State = #state{ client_id = ClientId