diff options
author | Anders Svensson <[email protected]> | 2013-04-12 15:32:21 +0200 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2013-04-12 15:32:21 +0200 |
commit | e5d08c54f6770aad54ada273cd45bc409fb41713 (patch) | |
tree | 6d416d35b7da554066caa87f2cb3bb012621f0d4 /lib/diameter/src/base/diameter_peer_fsm.erl | |
parent | e09920ed1da9ebf3efa814d8f5039140109beab3 (diff) | |
parent | 4875b24b95b41ca716f0cf2f7881333035a35425 (diff) | |
download | otp-e5d08c54f6770aad54ada273cd45bc409fb41713.tar.gz otp-e5d08c54f6770aad54ada273cd45bc409fb41713.tar.bz2 otp-e5d08c54f6770aad54ada273cd45bc409fb41713.zip |
Merge branch 'anders/diameter/address_config/OTP-10986' into maint
* anders/diameter/address_config/OTP-10986:
Comment fix
More robust listening port lookup in test suites
Update example client to allow default local address
Make explicit local address to diameter_tcp:start/3 optional
Add transport interface 'connected' message with local address list
Diffstat (limited to 'lib/diameter/src/base/diameter_peer_fsm.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_peer_fsm.erl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl index bee3e507fd..6be4259510 100644 --- a/lib/diameter/src/base/diameter_peer_fsm.erl +++ b/lib/diameter/src/base/diameter_peer_fsm.erl @@ -351,10 +351,17 @@ transition({diameter, {TPid, connected, Remote}}, mode = M} = S) -> {'Wait-Conn-Ack', _} = PS, %% assert - connect = M, %% + connect = M, %% keep_transport(TPid), send_CER(S#state{mode = {M, Remote}}); +transition({diameter, {TPid, connected, Remote, LAddrs}}, + #state{transport = TPid, + service = Svc} + = S) -> + transition({diameter, {TPid, connected, Remote}}, + S#state{service = readdr(Svc, LAddrs)}); + %% Connection from peer. transition({diameter, {TPid, connected}}, #state{transport = TPid, @@ -363,7 +370,7 @@ transition({diameter, {TPid, connected}}, parent = Pid} = S) -> {'Wait-Conn-Ack', Tmo} = PS, %% assert - accept = M, %% + accept = M, %% keep_transport(TPid), Pid ! {accepted, self()}, start_timer(Tmo, S#state{state = recv_CER}); @@ -376,6 +383,8 @@ transition({diameter, {_, connected}}, _) -> {stop, connection_timeout}; transition({diameter, {_, connected, _}}, _) -> {stop, connection_timeout}; +transition({diameter, {_, connected, _, _}}, _) -> + {stop, connection_timeout}; %% Connection has timed out: start an alternate. transition({connection_timeout = T, TPid}, |