internal void SetMappingStatus(PortMappingStatus newMappingStatus)
 {
     if (mappingStatus != newMappingStatus)
     {
         mappingStatus = newMappingStatus;
         if (mappingStatus == PortMappingStatus.Unmapped)
         {
             externalPort = 0;
         }
         PortMapper.SharedInstance.OnDidChangeMappingStatus(this);
     }
 }
        public PortMapping(UInt16 localPort, UInt16 desiredExternalPort, PortMappingTransportProtocol protocol)
        {
            this.localPort = localPort;
            this.desiredExternalPort = desiredExternalPort;
            this.transportProtocol = protocol;

            this.mappingStatus = PortMappingStatus.Unmapped;
        }