internal DataFragment SynchronizedTransmitPacket(SSH2TransmissionPacket packet) {
     lock (_transmitSync) {
         DataFragment data = packet.Close(_tCipher, _param.Random, _tMAC, _tSequence++);
         return _packetReceiver.SendAndWaitResponse(data);
     }
 }
 internal void TransmitRawPayload(byte[] payload) {
     lock(this) {
         SSH2TransmissionPacket p = new SSH2TransmissionPacket();
         SSH2DataWriter wr = p.Open();
         wr.Write(payload);
         p.Close(_tCipher, _param.Random, _tMAC, _tSequence++, _transmissionImage);
         _stream.Write(_transmissionImage.Data, _transmissionImage.Offset, _transmissionImage.Length);
     }
 }
 internal void TransmitPacket(SSH2TransmissionPacket packet) {
     lock (_transmitSync) {
         DataFragment data = packet.Close(_tCipher, _param.Random, _tMAC, _tSequence++);
         _stream.Write(data.Data, data.Offset, data.Length);
     }
 }