diff options
author | Anders Svensson <[email protected]> | 2017-03-03 14:25:11 +0100 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2017-03-07 18:35:09 +0100 |
commit | fb14eac92b8bc08293443196ed5ab3896d8fb7a1 (patch) | |
tree | a83eaa06910d6e55f6290111dd7ec46c74d482fc /lib/diameter/src/base/diameter_peer_fsm.erl | |
parent | a4da06a56f778b7ac44c33a4fea38d1f60cac28d (diff) | |
download | otp-fb14eac92b8bc08293443196ed5ab3896d8fb7a1.tar.gz otp-fb14eac92b8bc08293443196ed5ab3896d8fb7a1.tar.bz2 otp-fb14eac92b8bc08293443196ed5ab3896d8fb7a1.zip |
Avoid sending large terms between nodes unnecessarily
When relaying outgoing requests through transport on a remote node,
terms that were stripped when sending to the transport process weren't
stripped when spawning a process on the remote node.
Also, don't save the request to the process dictionary in a process that
just relays an answer.
Diffstat (limited to 'lib/diameter/src/base/diameter_peer_fsm.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_peer_fsm.erl | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl index 0c24ebeb19..0df36efa16 100644 --- a/lib/diameter/src/base/diameter_peer_fsm.erl +++ b/lib/diameter/src/base/diameter_peer_fsm.erl @@ -454,7 +454,7 @@ transition({timeout, _}, _) -> %% Outgoing message. transition({send, Msg}, S) -> outgoing(Msg, S); -transition({send, Route, Msg}, S) -> +transition({send, Msg, Route}, S) -> put_route(Route), outgoing(Msg, S); @@ -504,9 +504,6 @@ transition({state, Pid}, #state{state = S, transport = TPid}) -> %% Map identifiers in an outgoing request to be able to lookup the %% handler process when the answer is received. -put_route(false) -> - ok; - put_route({Pid, Ref, Seqs}) -> MRef = monitor(process, Pid), put(Pid, Seqs), |