Brunet.Messaging.Mock.MockSender.Send C# (CSharp) Méthode

Send() public méthode

public Send ( ICopyable data ) : void
data ICopyable
Résultat void
    public virtual void Send(ICopyable data) {
      if( _rand.NextDouble() < _drop_rate) {
        return;
      }

      MemBlock mdata = data as MemBlock;
      if(mdata == null) {
        mdata = MemBlock.Copy(data);
      }

      for(int i = 0; i < _remove_n_ptypes; i++) {
        MemBlock payload = mdata;
        PType.Parse(mdata, out payload);
        mdata = payload;
      }
      Receiver.HandleData(mdata, ReturnPath, State);
    }

Usage Example

Exemple #1
0
        public void test()
        {
            MockDataHandler mdh = new MockDataHandler();

            mdh.HandleDataCallback += Callback;
            ISender sender = new MockSender(null, null, mdh, 0);

            byte[][]   b    = new byte[10][];
            MemBlock[] mb   = new MemBlock[10];
            Random     rand = new Random();

            for (int i = 0; i < 10; i++)
            {
                b[i] = new byte[128];
                rand.NextBytes(b[i]);
                mb[i] = MemBlock.Reference(b[i]);
                sender.Send(mb[i]);
            }

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(i, mdh.Position(mb[i]), "Position " + i);
                Assert.IsTrue(mdh.Contains(mb[i]), "Contains " + i);
            }

            Assert.AreEqual(_count, 10, "Count");
        }
All Usage Examples Of Brunet.Messaging.Mock.MockSender::Send