public void SendPieceRequest(int pieceId, int begin, int length) { try { if (socket.Connected) { if (!this.asyncInProgress) { peerProtocol.SendPieceRequest(this.netStream, pieceId, begin, length); } else { this.messageQueue.Add(new object[] { PeerMessage.Request, pieceId, begin, length }); } } } catch (System.Exception e) { Config.LogException(e); this.Disconnect(); } }