public override bool Decode(PduMarshaler marshaler)
{
HeaderBits = new Header(marshaler.ReadByte());
Cmd_Values c = HeaderBits.Cmd;
// TODO: Check this logic
// Check in the special case that the Cmd bit field just
// equals to Cmd_Values.Unknown
if (c == Cmd_Values.Unknown)
{
return false;
}
try
{
if (c == Cmd)
{
DoUnmarshal(marshaler);
SetRawData(false, marshaler);
return true;
}
}
catch (OverflowException)
{
marshaler.Reset();
}
return false;
}