Skip to content

Commit 3d09dc5

Browse files
committed
Move rabbit_net:accept_ack() to rabbit_networking
... in rabbitmq-server. This resolves a reverse dependency of rabbitmq-common on rabbitmq-server. However, this breaks the API because we can't keep a compatibility function. [#118490793]
1 parent d5b5b80 commit 3d09dc5

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/rabbit_networking.erl

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
connections/0, connection_info_keys/0,
3535
connection_info/1, connection_info/2,
3636
connection_info_all/0, connection_info_all/1, connection_info_all/3,
37-
close_connection/2, force_connection_event_refresh/1, tcp_host/1]).
37+
close_connection/2, force_connection_event_refresh/1, accept_ack/2,
38+
tcp_host/1]).
3839

3940
%% Used by TCP-based transports, e.g. STOMP adapter
4041
-export([tcp_listener_addresses/1, tcp_listener_spec/9,
@@ -87,6 +88,7 @@
8788
'ok'.
8889
-spec close_connection(pid(), string()) -> 'ok'.
8990
-spec force_connection_event_refresh(reference()) -> 'ok'.
91+
-spec accept_ack(any(), rabbit_net:socket()) -> ok.
9092

9193
-spec on_node_down(node()) -> 'ok'.
9294
-spec tcp_listener_addresses(listener_config()) -> [address()].
@@ -313,6 +315,22 @@ force_connection_event_refresh(Ref) ->
313315
[rabbit_reader:force_event_refresh(C, Ref) || C <- connections()],
314316
ok.
315317

318+
accept_ack(Ref, Sock) ->
319+
ok = ranch:accept_ack(Ref),
320+
case tune_buffer_size(Sock) of
321+
ok -> ok;
322+
{error, _} -> rabbit_net:fast_close(Sock),
323+
exit(normal)
324+
end,
325+
ok = file_handle_cache:obtain().
326+
327+
tune_buffer_size(Sock) ->
328+
case rabbit_net:getopts(Sock, [sndbuf, recbuf, buffer]) of
329+
{ok, BufSizes} -> BufSz = lists:max([Sz || {_Opt, Sz} <- BufSizes]),
330+
rabbit_net:setopts(Sock, [{buffer, BufSz}]);
331+
Error -> Error
332+
end.
333+
316334
%%--------------------------------------------------------------------
317335

318336
tcp_host(IPAddress) ->

src/rabbit_reader.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ shutdown(Pid, Explanation) ->
231231
gen_server:call(Pid, {shutdown, Explanation}, infinity).
232232

233233
init(Parent, HelperSup, Ref, Sock) ->
234-
rabbit_net:accept_ack(Ref, Sock),
234+
rabbit_networking:accept_ack(Ref, Sock),
235235
Deb = sys:debug_options([]),
236236
start_connection(Parent, HelperSup, Deb, Sock).
237237

0 commit comments

Comments
 (0)