Esempio n. 1
0
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.HomeNonceIndex, HomeNonceIndex, Endianity.Big);
     buffer.Write(offset + MessageDataOffset.HomeInitCookie, HomeInitCookie, Endianity.Big);
     buffer.Write(offset + MessageDataOffset.HomeKeygenToken, HomeKeygenToken, Endianity.Big);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
Esempio n. 2
0
 internal sealed override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);
     WriteMessageDataBetweenSequenceNumberAndLifetime(buffer, offset);
     buffer.Write(offset + MessageDataOffset.Lifetime, Lifetime, Endianity.Big);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
        internal sealed override void WriteMessageData(byte[] buffer, int offset)
        {
            buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);

            byte flags = 0;

            if (Acknowledge)
            {
                flags |= MessageDataMask.Acknowledge;
            }
            if (HomeRegistration)
            {
                flags |= MessageDataMask.HomeRegistration;
            }
            if (LinkLocalAddressCompatibility)
            {
                flags |= MessageDataMask.LinkLocalAddressCompatibility;
            }
            if (KeyManagementMobilityCapability)
            {
                flags |= MessageDataMask.KeyManagementMobilityCapability;
            }
            buffer.Write(offset + MessageDataOffset.Acknowledge, flags);

            buffer.Write(offset + MessageDataOffset.Lifetime, Lifetime, Endianity.Big);
            MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
        }
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.NumberOfAddresses, (byte)HomeAgentAddresses.Count);
     for (int i = 0; i != HomeAgentAddresses.Count; ++i)
     {
         buffer.Write(offset + MessageDataOffset.HomeAgentAddresses + i * IpV6Address.SizeOf, HomeAgentAddresses[i], Endianity.Big);
     }
     MobilityOptions.Write(buffer, offset + MessageDataOffset.HomeAgentAddresses + HomeAgentAddresses.Count * IpV6Address.SizeOf);
 }
 internal sealed override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.Status, (byte)Status);
     if (KeyManagementMobilityCapability)
     {
         buffer.Write(offset + MessageDataOffset.KeyManagementMobilityCapability, MessageDataMask.KeyManagementMobilityCapability);
     }
     buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);
     buffer.Write(offset + MessageDataOffset.Lifetime, Lifetime, Endianity.Big);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
        internal override void WriteMessageData(byte[] buffer, int offset)
        {
            byte isUnsolicitedHeartbeatResponseAndIsResponse = 0;

            if (IsUnsolicitedHeartbeatResponse)
            {
                isUnsolicitedHeartbeatResponseAndIsResponse |= MessageDataMask.IsUnsolicitedHeartbeatResponse;
            }
            if (IsResponse)
            {
                isUnsolicitedHeartbeatResponseAndIsResponse |= MessageDataMask.IsResponse;
            }
            buffer.Write(offset + MessageDataOffset.IsUnsolicitedHeartbeatResponse, isUnsolicitedHeartbeatResponseAndIsResponse);

            buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);
            MobilityOptions.Write(buffer, offset + MessageDataOffset.MobilityOptions);
        }
        internal override void WriteMessageData(byte[] buffer, int offset)
        {
            buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);

            byte assignedAddressConfigurationAndBuffer = 0;

            if (AssignedAddressConfiguration)
            {
                assignedAddressConfigurationAndBuffer |= MessageDataMask.AssignedAddressConfiguration;
            }
            if (Buffer)
            {
                assignedAddressConfigurationAndBuffer |= MessageDataMask.Buffer;
            }
            buffer.Write(offset + MessageDataOffset.AssignedAddressConfiguration, assignedAddressConfigurationAndBuffer);

            buffer.Write(offset + MessageDataOffset.Code, (byte)Code);
            MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
        }
        internal sealed override void WriteMessageData(byte[] buffer, int offset)
        {
            buffer.Write(offset + MessageDataOffset.BindingRevocationType, (byte)BindingRevocationType);
            buffer.Write(offset + MessageDataOffset.RevocationTriggerOrStatus, RevocationTriggerOrStatus);
            buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);

            byte flags = 0;

            if (ProxyBinding)
            {
                flags |= MessageDataMask.ProxyBinding;
            }
            if (IpV4HomeAddressBindingOnly)
            {
                flags |= MessageDataMask.IpV4HomeAddressBindingOnly;
            }
            if (Global)
            {
                flags |= MessageDataMask.Global;
            }
            buffer.Write(offset + MessageDataOffset.ProxyBinding, flags);

            MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
        }
 private bool EqualsData(IpV6ExtensionHeaderMobility other)
 {
     return(other != null &&
            MobilityHeaderType == other.MobilityHeaderType && Checksum == other.Checksum && MobilityOptions.Equals(other.MobilityOptions) &&
            EqualsMessageData(other));
 }
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.SequenceNumber, SequenceNumber, Endianity.Big);
     buffer.Write(offset + MessageDataOffset.Code, (byte)Code);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
Esempio n. 11
0
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.CareOfInitCookie, CareOfInitCookie, Endianity.Big);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }
Esempio n. 13
0
 internal override void WriteMessageData(byte[] buffer, int offset)
 {
     buffer.Write(offset + MessageDataOffset.Status, (byte)Status);
     buffer.Write(offset + MessageDataOffset.HomeAddress, HomeAddress, Endianity.Big);
     MobilityOptions.Write(buffer, offset + MessageDataOffset.Options);
 }