Beispiel #1
0
 public override void Update()
 {
     byte[] packet;
     while (handle != null && (packet = handle.Check()) != null)
     {
         if (packet.Length == 0)
         {
             handle = null;
         }
         NotifyPacketReceived(new TransportPacket(packet));
     }
 }
Beispiel #2
0
 public LocalTransport(LocalHalfPipe hp)
     : base(0)
 {
     delay = 0f;             // dude, we're fast
     handle = hp;
     MaximumPacketSize = 2048;
 }
Beispiel #3
0
 public override void Dispose()
 {
     if (handle == null) { return; }
     handle.Put(new byte[0]);
     handle = null;
     base.Dispose();
 }
Beispiel #4
0
 internal LocalHalfPipe Connect()
 {
     Queue<byte[]> first = new Queue<byte[]>();
     Queue<byte[]> second = new Queue<byte[]>();
     ++connectionNumber;
     LocalHalfPipe listener = new LocalHalfPipe(connectionNumber, first, second);
     LocalHalfPipe client = new LocalHalfPipe(-connectionNumber, second, first);
     pending.Add(listener);
     return client;
 }