summaryrefslogtreecommitdiff
path: root/lib/diameter
diff options
context:
space:
mode:
authorAnders Svensson <anders@erlang.org>2020-02-09 11:43:01 +0100
committerAnders Svensson <anders@erlang.org>2020-02-11 11:04:14 +0100
commit267226ea18bff847232dbbb1029a1df53c32ac76 (patch)
treec8a1e08edcc594aec28bb915f97c89f672f182a9 /lib/diameter
parentd1838e6b6acb4274163ebe65652f87b9e2a23265 (diff)
downloaderlang-267226ea18bff847232dbbb1029a1df53c32ac76.tar.gz
Send requests on remote transport more efficiently
Commit fb14eac9 got two things slightly wrong: it stripped a diameter_packet record that was already stripped after being spawned into send/1 on the node of a remote transport process, and it didn't avoid an unnecessary process dictionary entry as the commit comment said. Call the function that skips this, not the one that does it.
Diffstat (limited to 'lib/diameter')
-rw-r--r--lib/diameter/src/base/diameter_traffic.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl
index 0336f2392c..2b7b152911 100644
--- a/lib/diameter/src/base/diameter_traffic.erl
+++ b/lib/diameter/src/base/diameter_traffic.erl
@@ -1870,10 +1870,13 @@ z(#diameter_packet{header = H, bin = Bin, transport_data = T}) ->
transport_data = T}.
%% send/1
+%%
+%% Send from a remote node using a peer connection on this one. Pkt is
+%% already stripped.
send({TPid, Pkt, #request{handler = Pid} = Req0, SvcName, Timeout, TRef}) ->
Req = Req0#request{handler = self()},
- recv(TPid, Pid, TRef, zend_requezt(TPid, Pkt, Req, SvcName, Timeout)).
+ recv(TPid, Pid, TRef, send_request(TPid, Pkt, Req, SvcName, Timeout)).
%% recv/4
%%