Esempio n. 1
0
 public void Open(MacConIndPayload macConInd)
 {
     PMID        = macConInd.PMID;
     Reassembler = new NwkReassembler();
     if (macConInd.Ho)
     {
         var previous = _tracker.Find(PMID);
         if (previous != null)
         {
             Reassembler.CopyFrom(previous.Reassembler);
         }
     }
     IsConnected = true;
 }
Esempio n. 2
0
        private static DnmPayload CreateMac(DnmType type, ReadOnlyMemory <byte> data, MacConnection connection)
        {
            switch (type)
            {
            case DnmType.MacConInd:
                var macConInd = new MacConIndPayload(data);
                connection.Open(macConInd);
                return(macConInd);

            case DnmType.MacDisInd:
                connection.Close();
                return(new MacDisIndPayload(data));

            case DnmType.MacDisReq:
                connection.Close();
                return(new EmptyDnmPayload(data));

            case DnmType.MacEncKeyReq:
                return(new MacEncKeyReqPayload(data));

            case DnmType.MacEncEksInd:
                return(new MacEncEksIndPayload(data));

            case DnmType.MacInfoInd:
                return(new MacInfoIndPayload(data));

            case DnmType.HoInProgressInd:
                return(new MacHoInProgressIndPayload(data));

            case DnmType.HoInProgressRes:
                return(new MacHoInProgressResPayload(data));

            case DnmType.HoFailedInd:
                return(new MacHoFailedIndPayload(data));

            default:
                return(new UnknownDnmPayload(data));
            }
        }