diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-09-28 10:53:04 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-09-28 10:53:04 +0000 |
| commit | 0195fbe0f8840d01a95759ce9030a9fcdf8291e3 (patch) | |
| tree | 21fa9078db5aca8c8826372d4a997e94c445b169 /src/QXmppStun.h | |
| parent | 51801c4c0d511f5be61935665b20ae2cf1e2016b (diff) | |
| download | qxmpp-0195fbe0f8840d01a95759ce9030a9fcdf8291e3.tar.gz | |
improve ICE-UDP support:
- make QXmppIceConnection emit "disconnected()" if negotiation timeouts
- handle IPv6 link-local addresses
- improve error logging
Diffstat (limited to 'src/QXmppStun.h')
| -rw-r--r-- | src/QXmppStun.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/QXmppStun.h b/src/QXmppStun.h index 5adef33f..1b7c81be 100644 --- a/src/QXmppStun.h +++ b/src/QXmppStun.h @@ -134,9 +134,10 @@ private: QXmppJingleCandidate remote; QXmppJingleCandidate reflexive; QByteArray transaction; + QUdpSocket *socket; }; - Pair *addRemoteCandidate(const QHostAddress &host, quint16 port); + Pair *addRemoteCandidate(QUdpSocket *socket, const QHostAddress &host, quint16 port); void debug(const QString &message, QXmppLogger::MessageType = QXmppLogger::DebugMessage); qint64 writeStun(const QXmppStunMessage &message, QXmppStunSocket::Pair *pair); @@ -152,7 +153,7 @@ private: QString m_remoteUser; QString m_remotePassword; - QUdpSocket *m_socket; + QList<QUdpSocket*> m_sockets; QTimer *m_timer; // STUN server @@ -192,6 +193,9 @@ signals: // This signal is emitted once ICE negotiation succeeds. void connected(); + // This signal is emitted when ICE negotiation fails. + void disconnected(); + // This signal is emitted when a data packet is received. void datagramReceived(int component, const QByteArray &datagram); @@ -204,8 +208,10 @@ signals: private slots: void slotConnected(); void slotDatagramReceived(const QByteArray &datagram); + void slotTimeout(); private: + QTimer *m_connectTimer; bool m_controlling; QMap<int, QXmppStunSocket*> m_components; QString m_localUser; |
