diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle3/transport/jingle_s5b/JingleS5BTransport.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle3/transport/jingle_s5b/JingleS5BTransport.java index 6230652cb..3f5969582 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle3/transport/jingle_s5b/JingleS5BTransport.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle3/transport/jingle_s5b/JingleS5BTransport.java @@ -100,14 +100,18 @@ public class JingleS5BTransport extends Transport { } - public void connectToCandidates(int timeout) { + public JingleS5BTransportCandidate connectToCandidates(int timeout) { for (TransportCandidate c : getCandidates()) { + int _timeout = timeout / getCandidates().size(); //TODO: Wise? try { - selectedCandidate = ((JingleS5BTransportCandidate) c).connect(timeout / getCandidates().size()); //TODO: Wise? + return ((JingleS5BTransportCandidate) c).connect(_timeout); } catch (IOException | TimeoutException | InterruptedException | SmackException | XMPPException e) { e.printStackTrace(); } } + + // Failed to connect to any candidate. + return null; } @Override