1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-10 17:49:38 +02:00

File transfer upgrade, 1.5 and beautification.

Fixed fault tolerant negotiator. SMACK-128

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@7616 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Alex Wenckus 2007-03-21 04:09:52 +00:00 committed by alex
parent 93766ee788
commit c95c8b7e3a
10 changed files with 629 additions and 453 deletions

View file

@ -74,6 +74,11 @@ public class FileTransferNegotiator {
private static final Random randomGenerator = new Random();
/**
* A static variable to use only offer IBB for file transfer. It is generally recommend to only
* set this variable to true for testing purposes as IBB is the backup file transfer method
* and shouldn't be used as the only transfer method in production systems.
*/
public static boolean IBB_ONLY = false;
/**
@ -178,7 +183,7 @@ public class FileTransferNegotiator {
private final XMPPConnection connection;
private final StreamNegotiator byteStreamTransferManager;
private final Socks5TransferNegotiatorManager byteStreamTransferManager;
private final StreamNegotiator inbandTransferManager;
@ -186,7 +191,7 @@ public class FileTransferNegotiator {
configureConnection(connection);
this.connection = connection;
byteStreamTransferManager = new Socks5TransferNegotiator(connection);
byteStreamTransferManager = new Socks5TransferNegotiatorManager(connection);
inbandTransferManager = new IBBTransferNegotiator(connection);
}
@ -298,10 +303,12 @@ public class FileTransferNegotiator {
}
if (isByteStream && isIBB && field.getType().equals(FormField.TYPE_LIST_MULTI)) {
return new FaultTolerantNegotiator(connection, byteStreamTransferManager, inbandTransferManager);
return new FaultTolerantNegotiator(connection,
byteStreamTransferManager.createNegotiator(),
inbandTransferManager);
}
else if (isByteStream) {
return byteStreamTransferManager;
return byteStreamTransferManager.createNegotiator();
}
else {
return inbandTransferManager;
@ -430,10 +437,11 @@ public class FileTransferNegotiator {
}
if (isByteStream && isIBB) {
return new FaultTolerantNegotiator(connection, byteStreamTransferManager, inbandTransferManager);
return new FaultTolerantNegotiator(connection,
byteStreamTransferManager.createNegotiator(), inbandTransferManager);
}
else if (isByteStream) {
return byteStreamTransferManager;
return byteStreamTransferManager.createNegotiator();
}
else {
return inbandTransferManager;