private void OnFileTransferStateChanged(FileTransferState state, FileTransferStateChangeReason reason) { Console.WriteLine(MSG_PREFIX + "OnFileTransferStateChanged: state {0}, reason {1}", state.ToString(), reason.ToString()); switch (state) { case FileTransferState.Open: s = new System.Net.Sockets.Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP); EndPoint ep = new UnixEndPoint(socket_addr); s.Connect(ep); if (transfer_initiator == self_handle) { Console.WriteLine(MSG_PREFIX + "Sending file"); ThreadPool.QueueUserWorkItem(delegate { SendFile(); }); } else { Console.WriteLine(MSG_PREFIX + "Receiving file"); ThreadPool.QueueUserWorkItem(delegate { ReceiveFile(); }); } break; case FileTransferState.Completed: Console.WriteLine(MSG_PREFIX + "Transfer completed."); ift.Close(); break; } }
private void OnFileTransferStateChanged(FileTransferState state, FileTransferStateChangeReason reason) { //Console.WriteLine ("OnFileTransferStateChanged: state {0}", state); switch (state) { case FileTransferState.Open: if (pf_result != null) { address = pf_caller.EndInvoke(pf_result); pf_result = null; } OnChannelReady(EventArgs.Empty); break; case FileTransferState.Completed: Close(); break; case FileTransferState.Cancelled: Close(); break; } }