diff options
author | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-04-19 01:14:30 +0200 |
---|---|---|
committer | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-04-19 01:14:30 +0200 |
commit | 5c0873c7cab8bdb95754f4a67839aa6ed5a3d2e8 (patch) | |
tree | 8783b29c032b4c0410943d411be404f036d9988e /src/eu/siacs/conversations/xmpp/jingle | |
parent | 7ccbf0008a600cd00e3dea1b95890d7454509af3 (diff) |
cleaned up debug log a little bit
Diffstat (limited to 'src/eu/siacs/conversations/xmpp/jingle')
3 files changed, 77 insertions, 76 deletions
diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java index a7048437..b221ec0c 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java +++ b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java @@ -186,8 +186,7 @@ public class JingleConnection { this.transportId = this.mJingleConnectionManager.nextRandomId(); content.setCandidates(this.transportId,getCandidatesAsElements()); packet.setContent(content); - Log.d("xmppService",packet.toString()); - account.getXmppConnection().sendIqPacket(packet, this.responseListener); + this.sendJinglePacket(packet); this.status = STATUS_INITIATED; } } @@ -219,7 +218,7 @@ public class JingleConnection { public void failed() { content.setCandidates(transportId, getCandidatesAsElements()); packet.setContent(content); - account.getXmppConnection().sendIqPacket(packet,responseListener); + sendJinglePacket(packet); } @Override @@ -227,13 +226,13 @@ public class JingleConnection { mergeCandidate(candidate); content.setCandidates(transportId, getCandidatesAsElements()); packet.setContent(content); - account.getXmppConnection().sendIqPacket(packet,responseListener); + sendJinglePacket(packet); } }); } else { content.setCandidates(transportId, getCandidatesAsElements()); packet.setContent(content); - account.getXmppConnection().sendIqPacket(packet,responseListener); + sendJinglePacket(packet); } } }); @@ -250,8 +249,12 @@ public class JingleConnection { return packet; } + private void sendJinglePacket(JinglePacket packet) { + Log.d("xmppService",packet.toPrettyString()); + account.getXmppConnection().sendIqPacket(packet,responseListener); + } + private void accept(JinglePacket packet) { - Log.d("xmppService","session-accept: "+packet.toString()); Content content = packet.getJingleContent(); mergeCandidates(JingleCandidate.parse(content.getCanditates())); this.status = STATUS_ACCEPTED; @@ -286,66 +289,72 @@ public class JingleConnection { private void connect() { final SocksConnection connection = chooseConnection(); - this.status = STATUS_TRANSMITTING; - final OnFileTransmitted callback = new OnFileTransmitted() { - - @Override - public void onFileTransmitted(JingleFile file) { - if (responder.equals(account.getFullJid())) { - sendSuccess(); - mXmppConnectionService.markMessage(message, Message.STATUS_SEND); - } - Log.d("xmppService","sucessfully transmitted file. sha1:"+file.getSha1Sum()); - } - }; - if (connection.isProxy()&&(connection.getCandidate().isOurs())) { - Log.d("xmppService","candidate "+connection.getCandidate().getCid()+" was our proxy and needs activation"); - IqPacket activation = new IqPacket(IqPacket.TYPE_SET); - activation.setTo(connection.getCandidate().getJid()); - activation.query("http://jabber.org/protocol/bytestreams").setAttribute("sid", this.getSessionId()); - activation.query().addChild("activate").setContent(this.getCounterPart()); - this.account.getXmppConnection().sendIqPacket(activation, new OnIqPacketReceived() { + if (connection==null) { + Log.d("xmppService","could not find suitable candidate"); + this.disconnect(); + this.status = STATUS_FAILED; + this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND_FAILED); + } else { + this.status = STATUS_TRANSMITTING; + final OnFileTransmitted callback = new OnFileTransmitted() { @Override - public void onIqPacketReceived(Account account, IqPacket packet) { - Log.d("xmppService","activation result: "+packet.toString()); - if (initiator.equals(account.getFullJid())) { - Log.d("xmppService","we were initiating. sending file"); - connection.send(file,callback); - } else { - connection.receive(file,callback); - Log.d("xmppService","we were responding. receiving file"); + public void onFileTransmitted(JingleFile file) { + if (responder.equals(account.getFullJid())) { + sendSuccess(); + mXmppConnectionService.markMessage(message, Message.STATUS_SEND); } + Log.d("xmppService","sucessfully transmitted file. sha1:"+file.getSha1Sum()); } - }); - } else { - if (initiator.equals(account.getFullJid())) { - Log.d("xmppService","we were initiating. sending file"); - connection.send(file,callback); + }; + if (connection.isProxy()&&(connection.getCandidate().isOurs())) { + Log.d("xmppService","candidate "+connection.getCandidate().getCid()+" was our proxy and needs activation"); + IqPacket activation = new IqPacket(IqPacket.TYPE_SET); + activation.setTo(connection.getCandidate().getJid()); + activation.query("http://jabber.org/protocol/bytestreams").setAttribute("sid", this.getSessionId()); + activation.query().addChild("activate").setContent(this.getCounterPart()); + this.account.getXmppConnection().sendIqPacket(activation, new OnIqPacketReceived() { + + @Override + public void onIqPacketReceived(Account account, IqPacket packet) { + Log.d("xmppService","activation result: "+packet.toString()); + if (initiator.equals(account.getFullJid())) { + Log.d("xmppService","we were initiating. sending file"); + connection.send(file,callback); + } else { + connection.receive(file,callback); + Log.d("xmppService","we were responding. receiving file"); + } + } + }); } else { - Log.d("xmppService","we were responding. receiving file"); - connection.receive(file,callback); + if (initiator.equals(account.getFullJid())) { + Log.d("xmppService","we were initiating. sending file"); + connection.send(file,callback); + } else { + Log.d("xmppService","we were responding. receiving file"); + connection.receive(file,callback); + } } } } private SocksConnection chooseConnection() { - Log.d("xmppService","choosing connection from "+this.connections.size()+" possibilties"); SocksConnection connection = null; Iterator<Entry<String, SocksConnection>> it = this.connections.entrySet().iterator(); while (it.hasNext()) { Entry<String, SocksConnection> pairs = it.next(); SocksConnection currentConnection = pairs.getValue(); - Log.d("xmppService","comparing candidate: "+currentConnection.getCandidate().toString()); + //Log.d("xmppService","comparing candidate: "+currentConnection.getCandidate().toString()); if (currentConnection.isEstablished()&&(currentConnection.getCandidate().isUsedByCounterpart()||(!currentConnection.getCandidate().isOurs()))) { - Log.d("xmppService","is usable"); + //Log.d("xmppService","is usable"); if (connection==null) { connection = currentConnection; } else { if (connection.getCandidate().getPriority()<currentConnection.getCandidate().getPriority()) { connection = currentConnection; } else if (connection.getCandidate().getPriority()==currentConnection.getCandidate().getPriority()) { - Log.d("xmppService","found two candidates with same priority"); + //Log.d("xmppService","found two candidates with same priority"); if (initiator.equals(account.getFullJid())) { if (currentConnection.getCandidate().isOurs()) { connection = currentConnection; @@ -360,11 +369,6 @@ public class JingleConnection { } it.remove(); } - if (connection!=null) { - Log.d("xmppService","chose candidate: "+connection.getCandidate().getHost()); - } else { - Log.d("xmppService","couldn't find candidate"); - } return connection; } @@ -373,8 +377,7 @@ public class JingleConnection { Reason reason = new Reason(); reason.addChild("success"); packet.setReason(reason); - Log.d("xmppService","sending success. "+packet.toString()); - this.account.getXmppConnection().sendIqPacket(packet, responseListener); + this.sendJinglePacket(packet); this.disconnect(); this.status = STATUS_FINISHED; this.mXmppConnectionService.markMessage(this.message, Message.STATUS_RECIEVED); @@ -391,28 +394,7 @@ public class JingleConnection { this.status = STATUS_CANCELED; this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND_REJECTED); } - - /*private void openOurCandidates() { - for(JingleCandidate candidate : this.candidates) { - if (candidate.isOurs()) { - final SocksConnection socksConnection = new SocksConnection(this,candidate); - connections.put(candidate.getCid(), socksConnection); - socksConnection.connect(new OnSocksConnection() { - - @Override - public void failed() { - Log.d("xmppService","connection to our candidate failed"); - } - - @Override - public void established() { - Log.d("xmppService","connection to our candidate was successful"); - } - }); - } - } - }*/ - + private void connectNextCandidate() { for(JingleCandidate candidate : this.candidates) { if ((!connections.containsKey(candidate.getCid())&&(!candidate.isOurs()))) { @@ -430,11 +412,13 @@ public class JingleConnection { @Override public void failed() { + Log.d("xmppService", "connection failed with "+candidate.getHost()+":"+candidate.getPort()); connectNextCandidate(); } @Override public void established() { + Log.d("xmppService", "established connection with "+candidate.getHost()+":"+candidate.getPort()); sendCandidateUsed(candidate.getCid()); if ((receivedCandidate)&&(status == STATUS_ACCEPTED)) { connect(); @@ -461,7 +445,7 @@ public class JingleConnection { content.setUsedCandidate(this.transportId, cid); packet.setContent(content); Log.d("xmppService","send using candidate: "+cid); - this.account.getXmppConnection().sendIqPacket(packet,responseListener); + this.sendJinglePacket(packet); this.sentCandidate = true; } @@ -474,7 +458,7 @@ public class JingleConnection { content.setCandidateError(this.transportId); packet.setContent(content); Log.d("xmppService","send candidate error"); - this.account.getXmppConnection().sendIqPacket(packet,responseListener); + this.sendJinglePacket(packet); this.sentCandidate = true; } diff --git a/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java b/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java index 197b9424..897c202f 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java +++ b/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java @@ -69,7 +69,6 @@ public class SocksConnection { inputStream.read(result); int status = result[1]; if (status == 0) { - Log.d("xmppService", "established connection with "+candidate.getHost()+":"+candidate.getPort()+ "/" + destination); isEstablished = true; callback.established(); } else { diff --git a/src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java b/src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java index 55700609..e48eadd9 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java +++ b/src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java @@ -92,4 +92,22 @@ public class JinglePacket extends IqPacket { public boolean isAction(String action) { return action.equalsIgnoreCase(this.getAction()); } + + public String toPrettyString() { + StringBuilder output = new StringBuilder(); + output.append("["+getAction()+ " to:"+getTo()+" "); + if (this.content!=null) { + if (this.content.getUsedCandidate()!=null) { + output.append("used-candidate="+this.content.getUsedCandidate()); + } else if (this.content.hasCandidateError()) { + output.append("candidate-error"); + } else { + for(Element c : this.content.getCanditates()) { + output.append("["+c.getAttribute("host")+":"+c.getAttribute("port")+"]"); + } + } + } + output.append("]"); + return output.toString(); + } } |