aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppStun.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2011-03-23 10:53:07 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2011-03-23 10:53:07 +0000
commit1d9aefd3fe1350bba37e4490dd9a1e5915b5d446 (patch)
treedab47112adddfd03771462c92fc72c9ca6dfec62 /src/QXmppStun.h
parentb37739e771c0c207fc81a73cafe6f91b42074bee (diff)
downloadqxmpp-1d9aefd3fe1350bba37e4490dd9a1e5915b5d446.tar.gz
implement ICE candidate pair priority handling to prefer direct connections over relayed ones
Diffstat (limited to 'src/QXmppStun.h')
-rw-r--r--src/QXmppStun.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/QXmppStun.h b/src/QXmppStun.h
index aecbcb1a..e4f3d6fa 100644
--- a/src/QXmppStun.h
+++ b/src/QXmppStun.h
@@ -290,18 +290,22 @@ signals:
private:
class Pair {
public:
- Pair();
+ Pair(int component, bool controlling);
+ quint64 priority() const;
QString toString() const;
QIODevice::OpenMode checked;
- quint32 priority;
QXmppJingleCandidate remote;
QXmppJingleCandidate reflexive;
QByteArray transaction;
QUdpSocket *socket;
+
+ private:
+ int m_component;
+ bool m_controlling;
};
- Pair *addRemoteCandidate(QUdpSocket *socket, const QHostAddress &host, quint16 port);
+ Pair *addRemoteCandidate(QUdpSocket *socket, const QHostAddress &host, quint16 port, quint32 priority);
qint64 writeStun(const QXmppStunMessage &message, QXmppIceComponent::Pair *pair);
int m_component;
@@ -314,6 +318,7 @@ private:
Pair *m_fallbackPair;
bool m_iceControlling;
QList<Pair*> m_pairs;
+ quint32 m_peerReflexivePriority;
QString m_remoteUser;
QString m_remotePassword;