mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-24 04:52:05 +01:00
JIBB works
This commit is contained in:
parent
c4ef2c9552
commit
a101de29fd
3 changed files with 37 additions and 38 deletions
|
@ -135,29 +135,28 @@ public class IncomingJingleFileOffer extends JingleFileTransferSession implement
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
queued.add(threadPool.submit(new Runnable() {
|
state = State.active;
|
||||||
|
|
||||||
|
transportSession.initiateIncomingSession(new JingleTransportInitiationCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void onSessionInitiated(BytestreamSession bytestreamSession) {
|
||||||
try {
|
LOGGER.log(Level.INFO, "BEFORE THREAD START!");
|
||||||
state = State.active;
|
receivingThread = new ReceiveTask(bytestreamSession, file, target);
|
||||||
transportSession.initiateIncomingSession(new JingleTransportInitiationCallback() {
|
queued.add(threadPool.submit(receivingThread));
|
||||||
@Override
|
LOGGER.log(Level.INFO,"AFTER THREAD START!");
|
||||||
public void onSessionInitiated(BytestreamSession bytestreamSession) {
|
|
||||||
receivingThread = new ReceiveTask(bytestreamSession, file, target);
|
|
||||||
queued.add(threadPool.submit(receivingThread));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onException(Exception e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
jutil.sendSessionAccept(getInitiator(), sid, creator, name, JingleContent.Senders.initiator, file, transportSession.createTransport());
|
|
||||||
} catch (SmackException.NotConnectedException | SmackException.NoResponseException | XMPPException.XMPPErrorException | InterruptedException e) {
|
|
||||||
LOGGER.log(Level.SEVERE, "Could not send session-accept: " + e, e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}));
|
|
||||||
|
@Override
|
||||||
|
public void onException(Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
jutil.sendSessionAccept(getInitiator(), sid, creator, name, JingleContent.Senders.initiator, file, transportSession.createTransport());
|
||||||
|
} catch (SmackException.NotConnectedException | SmackException.NoResponseException | XMPPException.XMPPErrorException | InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -103,24 +103,22 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession {
|
||||||
|
|
||||||
LOGGER.log(Level.INFO, "Session was accepted. Initiate Bytestream.");
|
LOGGER.log(Level.INFO, "Session was accepted. Initiate Bytestream.");
|
||||||
state = State.active;
|
state = State.active;
|
||||||
queued.add(threadPool.submit(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
transportSession.initiateOutgoingSession(new JingleTransportInitiationCallback() {
|
|
||||||
@Override
|
|
||||||
public void onSessionInitiated(final BytestreamSession session) {
|
|
||||||
LOGGER.log(Level.INFO, "BytestreamSession initiated. Start transfer.");
|
|
||||||
sendingThread = new SendTask(session, source);
|
|
||||||
queued.add(threadPool.submit(sendingThread));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
transportSession.processJingle(sessionAccept);
|
||||||
public void onException(Exception e) {
|
|
||||||
LOGGER.log(Level.SEVERE, "Cannot create outgoing Bytestream session: ", e);
|
transportSession.initiateOutgoingSession(new JingleTransportInitiationCallback() {
|
||||||
}
|
@Override
|
||||||
});
|
public void onSessionInitiated(final BytestreamSession session) {
|
||||||
|
LOGGER.log(Level.INFO, "BytestreamSession initiated. Start transfer.");
|
||||||
|
sendingThread = new SendTask(session, source);
|
||||||
|
queued.add(threadPool.submit(sendingThread));
|
||||||
}
|
}
|
||||||
}));
|
|
||||||
|
@Override
|
||||||
|
public void onException(Exception e) {
|
||||||
|
LOGGER.log(Level.SEVERE, "Cannot create outgoing Bytestream session: ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return jutil.createAck(sessionAccept);
|
return jutil.createAck(sessionAccept);
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class JingleIBBTransportSession extends JingleTransportSession<JingleIBBT
|
||||||
public void incomingBytestreamRequest(BytestreamRequest request) {
|
public void incomingBytestreamRequest(BytestreamRequest request) {
|
||||||
if (request.getFrom().asFullJidIfPossible().equals(jingleSession.get().getRemote())
|
if (request.getFrom().asFullJidIfPossible().equals(jingleSession.get().getRemote())
|
||||||
&& request.getSessionID().equals(ibbTransport.getSessionId())) {
|
&& request.getSessionID().equals(ibbTransport.getSessionId())) {
|
||||||
|
LOGGER.log(Level.INFO,"MATCH! Create bytesteam session.");
|
||||||
BytestreamSession session;
|
BytestreamSession session;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -99,6 +99,8 @@ public class JingleIBBTransportSession extends JingleTransportSession<JingleIBBT
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
callback.onSessionInitiated(session);
|
callback.onSessionInitiated(session);
|
||||||
|
} else {
|
||||||
|
LOGGER.log(Level.SEVERE, "MISSMATCH");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue