예제 #1
0
파일: AckNack.cs 프로젝트: Egipto87/DOOP.ec
 public AckNack(EntityId readerId, EntityId writerId, SequenceNumberSet readerSnSet, int count)
     : base(SubMessageKind.ACKNACK)
 {
     this.readerId = readerId;
     this.writerId = writerId;
     this.readerSNState = readerSnSet;
     this.count = count;
 }
예제 #2
0
        public static void PutSequenceNumberSet(this IoBuffer buffer, SequenceNumberSet obj)
        {
            buffer.PutSequenceNumber(obj.BitmapBase);

            // buffer.write_long(bitmaps.length);
            // buffer.write_long(bitmaps.length * 32);
            buffer.PutInt32(obj.NumBits);
            for (int i = 0; i < obj.Bitmaps.Length; i++)
            {
                buffer.PutInt32(obj.Bitmaps[i]);
            }
        }
예제 #3
0
        public static void GetSequenceNumberSet(this IoBuffer buffer, ref SequenceNumberSet obj)
        {
            obj.BitmapBase = buffer.GetSequenceNumber();

            obj.NumBits = buffer.GetInt32();
            int count = (obj.NumBits + 31) / 32;
            obj.Bitmaps = new int[count];

            for (int i = 0; i < obj.Bitmaps.Length; i++)
            {
                obj.Bitmaps[i] = buffer.GetInt32();
            }
        }
예제 #4
0
 public static SequenceNumberSet GetSequenceNumberSet(this IoBuffer buffer)
 {
     SequenceNumberSet obj = new SequenceNumberSet();
     buffer.GetSequenceNumberSet(ref obj);
     return obj;
 }