1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-11 10:09:38 +02:00
This commit is contained in:
vanitasvitae 2017-06-23 23:41:40 +02:00
parent 136af25342
commit c4ef2c9552
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
6 changed files with 19 additions and 30 deletions

View file

@ -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

View file

@ -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);
}

View file

@ -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;

View file

@ -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();
}
}