예제 #1
0
 public Datagram()             // Required for Binary deserialization
 {
     valid = false;
     exist = false;
     port  = 0;
     info  = null;
 }
예제 #2
0
            public Datagram(bool exist, ushort port, IServiceInfo info)
            {
                this.exist = exist;
                this.port  = port;
                this.info  = info;

                valid = true;
            }
예제 #3
0
            public uint FromBytes(Binary serializer, Binary.Buffer buffer, uint start)
            {
                uint read = 0;

                IBinaryTypeMapped i;

                read += serializer.FromBytes(buffer, start + read, out exist);
                read += serializer.FromBytes(buffer, start + read, out port);
                read += serializer.FromBytes(buffer, start + read, out i);

                info = (IServiceInfo)i;

                byte computed_checksum = ComputeControlSum(buffer.Data, start, read);

                byte received_checksum;

                read += serializer.FromBytes(buffer, start + read, out received_checksum);

                valid = (received_checksum == computed_checksum);

                return(read);
            }