Class Socks5TransferNegotiator
- java.lang.Object
-
- org.jivesoftware.smack.Manager
-
- org.jivesoftware.smackx.filetransfer.StreamNegotiator
-
- org.jivesoftware.smackx.filetransfer.Socks5TransferNegotiator
-
public class Socks5TransferNegotiator extends StreamNegotiator
Negotiates a SOCKS5 Bytestream to be used for file transfers. The implementation is based on theSocks5BytestreamManagerand theSocks5BytestreamRequest.- See Also:
- XEP-0065: SOCKS5 Bytestreams
-
-
Field Summary
-
Fields inherited from class org.jivesoftware.smackx.filetransfer.StreamNegotiator
initationSetEvents
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.InputStreamcreateIncomingStream(StreamInitiation initiation)This method handles the file stream download negotiation process.java.io.OutputStreamcreateOutgoingStream(java.lang.String streamID, Jid initiator, Jid target)This method handles the file upload stream negotiation process.java.lang.StringgetNamespace()Returns the XMPP namespace reserved for this particular type of file transfer.voidnewStreamInitiation(Jid from, java.lang.String streamID)Signal that a new stream initiation arrived.-
Methods inherited from class org.jivesoftware.smackx.filetransfer.StreamNegotiator
createInitiationAccept, initiateIncomingStream, signal
-
Methods inherited from class org.jivesoftware.smack.Manager
connection, getAuthenticatedConnectionOrThrow, schedule, schedule, scheduleBlocking
-
-
-
-
Method Detail
-
createOutgoingStream
public java.io.OutputStream createOutgoingStream(java.lang.String streamID, Jid initiator, Jid target) throws SmackException, XMPPException
Description copied from class:StreamNegotiatorThis method handles the file upload stream negotiation process. The particular stream negotiator is determined during the file transfer negotiation process. This method returns the OutputStream to transmit the file to the remote user.- Specified by:
createOutgoingStreamin classStreamNegotiator- Parameters:
streamID- The streamID that uniquely identifies the file transfer.initiator- The fully-qualified JID of the initiator of the file transfer.target- The fully-qualified JID of the target or receiver of the file transfer.- Returns:
- The negotiated stream ready for data.
- Throws:
SmackException- if Smack detected an exceptional situation.XMPPException- if an XMPP protocol error was received.
-
createIncomingStream
public java.io.InputStream createIncomingStream(StreamInitiation initiation) throws XMPPException.XMPPErrorException, java.lang.InterruptedException, SmackException
Description copied from class:StreamNegotiatorThis method handles the file stream download negotiation process. The appropriate stream negotiator's initiate incoming stream is called after an appropriate file transfer method is selected. The manager will respond to the initiator with the selected means of transfer, then it will handle any negotiation specific to the particular transfer method. This method returns the InputStream, ready to transfer the file.- Specified by:
createIncomingStreamin classStreamNegotiator- Parameters:
initiation- The initiation that triggered this download.- Returns:
- After the negotiation process is complete, the InputStream to write a file to is returned.
- Throws:
XMPPException.XMPPErrorException- If an error occurs during this process an XMPPException is thrown.java.lang.InterruptedException- If thread is interrupted.SmackException- if Smack detected an exceptional situation.
-
newStreamInitiation
public void newStreamInitiation(Jid from, java.lang.String streamID)
Description copied from class:StreamNegotiatorSignal that a new stream initiation arrived. The negotiator may needs to prepare for it.- Specified by:
newStreamInitiationin classStreamNegotiator- Parameters:
from- The initiator of the file transfer.streamID- The stream ID related to the transfer.
-
getNamespace
public java.lang.String getNamespace()
Description copied from class:StreamNegotiatorReturns the XMPP namespace reserved for this particular type of file transfer.- Specified by:
getNamespacein classStreamNegotiator- Returns:
- Returns the XMPP namespace reserved for this particular type of file transfer.
-
-