Lines Matching full:connection
111 class Connection : public Dso::Connection class
116 explicit Connection(Instance &aInstance, in Connection() function in ot::Dns::Connection
120 : Dso::Connection(aInstance, aPeerSockAddr, sCallbacks) in Connection()
270 static void HandleConnected(Dso::Connection &aConnection) in HandleConnected()
272 static_cast<Connection &>(aConnection).HandleConnected(); in HandleConnected()
275 static void HandleSessionEstablished(Dso::Connection &aConnection) in HandleSessionEstablished()
277 static_cast<Connection &>(aConnection).HandleSessionEstablished(); in HandleSessionEstablished()
280 static void HandleDisconnected(Dso::Connection &aConnection) in HandleDisconnected()
282 static_cast<Connection &>(aConnection).HandleDisconnected(); in HandleDisconnected()
285 static Error ProcessRequestMessage(Dso::Connection &aConnection, in ProcessRequestMessage()
290 …return static_cast<Connection &>(aConnection).ProcessRequestMessage(aMessageId, aMessage, aPrimary… in ProcessRequestMessage()
293 static Error ProcessUnidirectionalMessage(Dso::Connection &aConnection, in ProcessUnidirectionalMessage()
297 …return static_cast<Connection &>(aConnection).ProcessUnidirectionalMessage(aMessage, aPrimaryTlvTy… in ProcessUnidirectionalMessage()
300 static Error ProcessResponseMessage(Dso::Connection &aConnection, in ProcessResponseMessage()
306 return static_cast<Connection &>(aConnection) in ProcessResponseMessage()
327 Dso::Connection::Callbacks Connection::sCallbacks(Connection::HandleConnected,
328 Connection::HandleSessionEstablished,
329 Connection::HandleDisconnected,
330 Connection::ProcessRequestMessage,
331 Connection::ProcessUnidirectionalMessage,
332 Connection::ProcessResponseMessage);
336 static Array<Connection *, kMaxConnections> sConnections;
338 static Connection *FindPeerConnection(const Connection &aConnetion) in FindPeerConnection()
340 Connection *peerConn = nullptr; in FindPeerConnection()
342 for (Connection *conn : sConnections) in FindPeerConnection()
359 // forward a sent message to the peer connection. It can be set to
364 // This test flag indicate whether when disconnecting a connection
365 // (using `otPlatDsoDisconnect()` to signal the peer connection about
378 Connection &conn = *static_cast<Connection *>(aConnection); in otPlatDsoConnect()
379 Connection *peerConn = nullptr; in otPlatDsoConnect()
385 VerifyOrQuit(conn.GetState() == Connection::kStateConnecting); in otPlatDsoConnect()
393 …peerConn = static_cast<Connection *>(otPlatDsoAccept(otPlatDsoGetInstance(aConnection), aPeerSockA… in otPlatDsoConnect()
402 VerifyOrQuit(peerConn->GetState() == Connection::kStateConnecting); in otPlatDsoConnect()
404 Log(" Signalling `Connected` on peer connection (%s)", peerConn->GetName()); in otPlatDsoConnect()
407 Log(" Signalling `Connected` on connection (%s)", conn.GetName()); in otPlatDsoConnect()
416 Connection &conn = *static_cast<Connection *>(aConnection); in otPlatDsoSend()
417 Connection *peerConn = nullptr; in otPlatDsoSend()
421 VerifyOrQuit(conn.GetState() != Connection::kStateDisconnected); in otPlatDsoSend()
422 VerifyOrQuit(conn.GetState() != Connection::kStateConnecting); in otPlatDsoSend()
430 VerifyOrQuit(peerConn->GetState() != Connection::kStateDisconnected); in otPlatDsoSend()
431 VerifyOrQuit(peerConn->GetState() != Connection::kStateConnecting); in otPlatDsoSend()
433 Log(" Sending the message to peer connection (%s)", peerConn->GetName()); in otPlatDsoSend()
446 Connection &conn = *static_cast<Connection *>(aConnection); in otPlatDsoDisconnect()
447 Connection *peerConn = nullptr; in otPlatDsoDisconnect()
452 VerifyOrQuit(conn.GetState() == Connection::kStateDisconnected); in otPlatDsoDisconnect()
460 Log(" No peer connection found"); in otPlatDsoDisconnect()
462 else if (peerConn->GetState() == Connection::kStateDisconnected) in otPlatDsoDisconnect()
464 Log(" Peer connection (%s) already disconnected", peerConn->GetName()); in otPlatDsoDisconnect()
468 Log(" Signaling `Disconnected` on peer connection (%s)", peerConn->GetName()); in otPlatDsoDisconnect()
476 Dso::Connection *AcceptConnection(Instance &aInstance, const Ip6::SockAddr &aPeerSockAddr) in AcceptConnection()
480 Connection *rval = nullptr; in AcceptConnection()
484 for (Connection *conn : sConnections) in AcceptConnection()
488 VerifyOrQuit(conn->GetState() == Connection::kStateDisconnected); in AcceptConnection()
496 Log(" Accepting and returning connection %s", rval->GetName()); in AcceptConnection()
508 static void VerifyKeepAliveExchange(Connection &aClientConn, in VerifyKeepAliveExchange()
509 Connection &aServerConn, in VerifyKeepAliveExchange()
546 Connection serverConn(instance, "serverConn", serverSockAddr, clientSockAddr); in TestDso()
547 Connection clientConn(instance, "clinetConn", clientSockAddr, serverSockAddr); in TestDso()
550 Connection::MessageId messageId; in TestDso()
561 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
562 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
576 VerifyOrQuit(clientConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
577 VerifyOrQuit(serverConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
585 // Note that we find connection with a peer address in TestDso()
600 Log("Send keep alive message to establish connection"); in TestDso()
607 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
608 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
624 Log("Close connection"); in TestDso()
629 clientConn.Disconnect(Connection::kGracefullyClose, Connection::kReasonInactivityTimeout); in TestDso()
631 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
632 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
634 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
635 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
651 Log("Connection timeout when server is not listening"); in TestDso()
658 VerifyOrQuit(clientConn.GetState() == Connection::kStateConnecting); in TestDso()
664 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
665 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonFailedToConnect); in TestDso()
687 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
688 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
728 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
729 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
742 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
743 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
759 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
760 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
765 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
766 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonKeepAliveTimeout); in TestDso()
768 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
769 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonPeerAborted); in TestDso()
770 Log("Server aborted connection on Keep Alive timeout"); in TestDso()
783 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
784 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
796 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
797 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
798 Log("Client keeps the connection up to the inactivity timeout"); in TestDso()
801 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
802 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
803 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
804 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
805 Log("Client closes the connection gracefully on inactivity timeout"); in TestDso()
812 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
813 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
820 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
821 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
822 Log("Client keeps the connection up to new 20 sec inactivity timeout"); in TestDso()
825 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
826 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
827 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
828 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
829 Log("Client closes the connection gracefully on inactivity timeout of 20 sec"); in TestDso()
836 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
837 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
844 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
845 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
846 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
847 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
848 Log("Client closes the connection gracefully on new shorter inactivity timeout of 10 sec"); in TestDso()
856 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
857 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
868 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
869 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
872 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
873 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
874 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
875 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
876 Log("Client closes the connection gracefully after 20 sec since last activity"); in TestDso()
884 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
885 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
896 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
897 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
900 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
901 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
902 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
903 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()
904 Log("Client closes the connection gracefully after 15 sec since last activity"); in TestDso()
911 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
912 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
921 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
922 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
923 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
928 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
930 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
931 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
938 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
939 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
948 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
949 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
951 Log("Client closes the connection gracefully on expired timeout"); in TestDso()
955 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
957 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
958 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
966 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
967 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
974 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
975 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
979 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
980 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
988 VerifyOrQuit(clientConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
989 VerifyOrQuit(serverConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
995 Log("Establish connection using test message request/response"); in TestDso()
998 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
999 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1039 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1040 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1061 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1062 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1077 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1078 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1092 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
1093 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
1094 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonPeerMisbehavior); in TestDso()
1095 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerAborted); in TestDso()
1108 VerifyOrQuit(clientConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
1109 VerifyOrQuit(serverConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
1115 VerifyOrQuit(clientConn.GetState() == Connection::kStateEstablishingSession); in TestDso()
1116 VerifyOrQuit(serverConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
1121 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
1122 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonResponseTimeout); in TestDso()
1124 VerifyOrQuit(serverConn.GetState() == Connection::kStateConnectedButSessionless); in TestDso()
1128 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
1129 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonInactivityTimeout); in TestDso()
1142 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1143 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1149 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1150 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1153 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1154 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1157 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
1158 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
1159 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonResponseTimeout); in TestDso()
1160 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonPeerAborted); in TestDso()
1170 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1171 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1177 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1178 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1181 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1182 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1185 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
1186 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
1187 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonResponseTimeout); in TestDso()
1188 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonPeerAborted); in TestDso()
1201 VerifyOrQuit(clientConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1202 VerifyOrQuit(serverConn.GetState() == Connection::kStateSessionEstablished); in TestDso()
1206 VerifyOrQuit(clientConn.GetState() == Connection::kStateDisconnected); in TestDso()
1207 VerifyOrQuit(serverConn.GetState() == Connection::kStateDisconnected); in TestDso()
1210 VerifyOrQuit(clientConn.GetDisconnectReason() == Connection::kReasonServerRetryDelayRequest); in TestDso()
1211 VerifyOrQuit(serverConn.GetDisconnectReason() == Connection::kReasonPeerClosed); in TestDso()