mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-12-28 13:38:00 +01:00
Temp
This commit is contained in:
parent
136af25342
commit
c4ef2c9552
6 changed files with 19 additions and 30 deletions
|
@ -42,7 +42,7 @@ import org.jxmpp.jid.FullJid;
|
|||
public class IncomingJingleFileOffer extends JingleFileTransferSession implements IncomingFileOfferCallback {
|
||||
private static final Logger LOGGER = Logger.getLogger(IncomingJingleFileOffer.class.getName());
|
||||
private Jingle pendingSessionInitiate = null;
|
||||
private ReceivingThread receivingThread;
|
||||
private ReceiveTask receivingThread;
|
||||
|
||||
public enum State {
|
||||
fresh,
|
||||
|
@ -143,8 +143,8 @@ public class IncomingJingleFileOffer extends JingleFileTransferSession implement
|
|||
transportSession.initiateIncomingSession(new JingleTransportInitiationCallback() {
|
||||
@Override
|
||||
public void onSessionInitiated(BytestreamSession bytestreamSession) {
|
||||
receivingThread = new ReceivingThread(bytestreamSession, file, target);
|
||||
receivingThread.start();
|
||||
receivingThread = new ReceiveTask(bytestreamSession, file, target);
|
||||
queued.add(threadPool.submit(receivingThread));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,7 +51,7 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession {
|
|||
terminated
|
||||
}
|
||||
|
||||
private Thread sendingThread;
|
||||
private Runnable sendingThread;
|
||||
private File source;
|
||||
private State state;
|
||||
|
||||
|
@ -110,8 +110,8 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession {
|
|||
@Override
|
||||
public void onSessionInitiated(final BytestreamSession session) {
|
||||
LOGGER.log(Level.INFO, "BytestreamSession initiated. Start transfer.");
|
||||
sendingThread = new SendingThread(session, source);
|
||||
sendingThread.start();
|
||||
sendingThread = new SendTask(session, source);
|
||||
queued.add(threadPool.submit(sendingThread));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -129,11 +129,6 @@ public class OutgoingJingleFileOffer extends JingleFileTransferSession {
|
|||
public IQ handleSessionTerminate(Jingle sessionTerminate) {
|
||||
LOGGER.log(Level.INFO, "Received session-terminate: " + sessionTerminate.getReason().asEnum());
|
||||
|
||||
if (sendingThread != null && !sendingThread.isInterrupted()) {
|
||||
LOGGER.log(Level.INFO, "Interrupt sending thread.");
|
||||
sendingThread.interrupt();
|
||||
}
|
||||
|
||||
state = State.terminated;
|
||||
return jutil.createAck(sessionTerminate);
|
||||
}
|
||||
|
|
|
@ -30,14 +30,14 @@ import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChi
|
|||
/**
|
||||
* Thread for receiving data.
|
||||
*/
|
||||
public class ReceivingThread extends Thread {
|
||||
private static final Logger LOGGER = Logger.getLogger(ReceivingThread.class.getName());
|
||||
public class ReceiveTask implements Runnable {
|
||||
private static final Logger LOGGER = Logger.getLogger(ReceiveTask.class.getName());
|
||||
|
||||
private final BytestreamSession session;
|
||||
private final JingleFileTransfer fileTransfer;
|
||||
private final File target;
|
||||
|
||||
public ReceivingThread(BytestreamSession session, JingleFileTransfer fileTransfer, File target) {
|
||||
public ReceiveTask(BytestreamSession session, JingleFileTransfer fileTransfer, File target) {
|
||||
this.session = session;
|
||||
this.fileTransfer = fileTransfer;
|
||||
this.target = target;
|
|
@ -29,13 +29,13 @@ import org.jivesoftware.smackx.bytestreams.BytestreamSession;
|
|||
/**
|
||||
* Created by vanitas on 21.06.17.
|
||||
*/
|
||||
public class SendingThread extends Thread {
|
||||
private static final Logger LOGGER = Logger.getLogger(SendingThread.class.getName());
|
||||
public class SendTask implements Runnable {
|
||||
private static final Logger LOGGER = Logger.getLogger(SendTask.class.getName());
|
||||
|
||||
private final BytestreamSession session;
|
||||
private final File source;
|
||||
|
||||
public SendingThread(BytestreamSession session, File source) {
|
||||
public SendTask(BytestreamSession session, File source) {
|
||||
this.session = session;
|
||||
this.source = source;
|
||||
}
|
||||
|
@ -69,14 +69,4 @@ public class SendingThread extends Thread {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void interrupt() {
|
||||
try {
|
||||
session.close();
|
||||
} catch (IOException e) {
|
||||
LOGGER.log(Level.SEVERE, "Could not close session.", e);
|
||||
}
|
||||
super.interrupt();
|
||||
}
|
||||
}
|
|
@ -34,7 +34,6 @@ import org.jivesoftware.smackx.jingle.element.JingleAction;
|
|||
import org.jivesoftware.smackx.jingle.element.JingleContent;
|
||||
import org.jivesoftware.smackx.jingle.element.JingleContentDescription;
|
||||
import org.jivesoftware.smackx.jingle.transports.jingle_ibb.JingleIBBTransportManager;
|
||||
import org.jivesoftware.smackx.jingle.transports.jingle_s5b.JingleS5BTransportManager;
|
||||
|
||||
import org.jxmpp.jid.FullJid;
|
||||
|
||||
|
@ -103,7 +102,7 @@ public final class JingleManager extends Manager {
|
|||
//Register transports.
|
||||
JingleTransportMethodManager transportMethodManager = JingleTransportMethodManager.getInstanceFor(connection);
|
||||
transportMethodManager.registerTransportManager(JingleIBBTransportManager.getInstanceFor(connection));
|
||||
transportMethodManager.registerTransportManager(JingleS5BTransportManager.getInstanceFor(connection));
|
||||
//transportMethodManager.registerTransportManager(JingleS5BTransportManager.getInstanceFor(connection));
|
||||
}
|
||||
|
||||
public JingleHandler registerDescriptionHandler(String namespace, JingleHandler handler) {
|
||||
|
|
|
@ -16,6 +16,9 @@
|
|||
*/
|
||||
package org.jivesoftware.smackx.jingle.transports.jingle_ibb;
|
||||
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.jivesoftware.smack.SmackException;
|
||||
import org.jivesoftware.smack.XMPPException;
|
||||
import org.jivesoftware.smack.packet.IQ;
|
||||
|
@ -31,6 +34,7 @@ import org.jivesoftware.smackx.jingle.transports.JingleTransportSession;
|
|||
import org.jivesoftware.smackx.jingle.transports.jingle_ibb.element.JingleIBBTransport;
|
||||
|
||||
public class JingleIBBTransportSession extends JingleTransportSession<JingleIBBTransport> {
|
||||
private static final Logger LOGGER = Logger.getLogger(JingleIBBTransportSession.class.getName());
|
||||
|
||||
private final JingleIBBTransportManager transportManager;
|
||||
|
||||
|
@ -53,6 +57,7 @@ public class JingleIBBTransportSession extends JingleTransportSession<JingleIBBT
|
|||
|
||||
@Override
|
||||
public void initiateOutgoingSession(JingleTransportInitiationCallback callback) {
|
||||
LOGGER.log(Level.INFO, "Initiate Jingle InBandBytestream session.");
|
||||
if (jingleSession.get() == null) {
|
||||
callback.onException(new NullPointerException("Lost reference to JingleSession."));
|
||||
return;
|
||||
|
@ -72,7 +77,7 @@ public class JingleIBBTransportSession extends JingleTransportSession<JingleIBBT
|
|||
|
||||
@Override
|
||||
public void initiateIncomingSession(final JingleTransportInitiationCallback callback) {
|
||||
|
||||
LOGGER.log(Level.INFO, "Await Jingle InBandBytestream session.");
|
||||
if (jingleSession.get() == null) {
|
||||
callback.onException(new NullPointerException("Lost reference to JingleSession."));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue