DotMSN

P2PTransferSession Members

P2PTransferSession overview

Public Instance Constructors

P2PTransferSession Constructor Constructor.

Public Instance Properties

AutoCloseStream Defines whether the stream is automatically closed after the transfer has finished or been aborted.
CallId The unique call-id used in MSNSLP messages
ClientData This property can be used by the client-programmer to include application specific data
DataStream The stream to read from when data is send, or to write to when data is received. Default is a MemorySteam.
IsSender Defines whether the local client is sender or receiver
MessageFlag This value is set in the flag field in a p2p header.
MessageProcessor The message processor to which p2p messages (this includes p2p data messages) will be send
MessageSession The message session which keeps track of the local / remote message identifiers and redirects messages to this handler based on the session id
SessionId The session id which this object handles. P2P messages will be redirected to this object based on their session id.

Public Instance Methods

AbortTransfer Aborts the datatransfer, if available. This will send a P2P abort message and stop the sending thread. It will not close a direct connection. If AutoCloseStream is set to true, the datastream will be closed.
Equals (inherited from Object)Determines whether the specified Object is equal to the current Object.
GetHashCode (inherited from Object)Serves as a hash function for a particular type. GetHashCode is suitable for use in hashing algorithms and data structures like a hash table.
GetType (inherited from Object)Gets the Type of the current instance.
HandleMessage Handles P2PMessages. Other messages are ignored. All incoming messages are supposed to belong to this session.
RegisterHandler Registers handlers for incoming p2p messages.
SendMessage Sends a message for this session to the message processor. If a direct connection is established the p2p message is directly send to the message processor. If there is no direct connection available, it will wrap the incoming p2p message in a MSGMessage with the correct parameters. It also sets the identifiers and acknowledge session, provided they're not already set.
StartDataTransfer Starts a seperate thread to send the data in the stream to the remote client. It will first wait for a direct connection if tryDirectConnection is set to true.
ToString (inherited from Object)Returns a String that represents the current Object.
UnregisterHandler Unregisters handlers.

Public Instance Events

TransferAborted Occurs when the transfer of data messages has been aborted.
TransferFinished Occurs when the sending of data messages has finished.
TransferStarted Occurs when the sending of data messages has started.

Protected Instance Properties

P2PMessagePool Keeps track of clustered p2p messages
TransferThread The thread in which the data messages are send
TransferThreadStart Kickstart object to start the data transfer thread
WaitingDirectConnection Indicates whether the session is waiting for the result of a direct connection attempt

Protected Instance Methods

AbortTransferThread Aborts a running data transfer thread.
Finalize (inherited from Object)Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
MemberwiseClone (inherited from Object)Creates a shallow copy of the current Object.
OnTransferAborted Fires the TransferAborted event.
OnTransferFinished Fires the TransferFinished event.
OnTransferStarted Fires the TransferStarted event.
SendAbortMessage Sends the remote client a p2p message with the 0x80 flag to abort.
SendDisconnectMessage Sends the remote client a p2p message with the 0x40 flag to indicate we are going to close the connection.
TransferDataEntry Entry point for the thread. This thread will send the data messages to the message processor. In case it is a direct connection P2PDCMessages will be send. If no direct connection is established P2PMessage objects are wrapped in a SBMessage object and send to the message processor. Which is in the latter case probably a SB processor.

See Also

P2PTransferSession Class | XihSolutions.DotMSN.DataTransfer Namespace