Exemplo n.º 1
0
 private static Mapping Convert(Internal.Mapping internalMapping) =>
 new Mapping
 {
     Protocol = Convert(internalMapping.Protocol),
     Port     = internalMapping.Port,
     Program  = internalMapping.Program,
     Version  = internalMapping.Version
 };
Exemplo n.º 2
0
            public override bool Unset_2(Caller caller, Internal.Mapping mapping)
            {
                this.logger?.Info($"{caller} UNSET {ToLogString(mapping)}");
                lock (this.mappings)
                {
                    Equal equal = IsProgramAndVersionAndProtocolEqual;
                    if (mapping.Protocol == ProtocolKind.Unknown)
                    {
                        equal = IsProgramAndVersionEqual;
                    }

                    return(this.mappings.RemoveAll(tmpMapping => equal(tmpMapping, mapping)) > 0);
                }
            }
Exemplo n.º 3
0
            public override bool Set_2(Caller caller, Internal.Mapping mapping)
            {
                this.logger?.Info($"{caller} SET   {ToLogString(mapping)}");
                lock (this.mappings)
                {
                    if (this.mappings.Any(m => IsProgramAndVersionAndProtocolEqual(m, mapping)))
                    {
                        return(false);
                    }

                    this.mappings.Add(mapping);
                    return(true);
                }
            }
Exemplo n.º 4
0
            public override int GetPort_2(Caller caller, Internal.Mapping mapping)
            {
                this.logger?.Info($"{caller} GET   {ToLogString(mapping)}");
                lock (this.mappings)
                {
                    Internal.Mapping found =
                        this.mappings.FirstOrDefault(m => IsProgramAndVersionAndProtocolEqual(m, mapping));
                    if (found != null)
                    {
                        return(found.Port);
                    }

                    return(0);
                }
            }
Exemplo n.º 5
0
 private static string ToLogString(Internal.Mapping mapping) =>
 $"(Port: {mapping.Port}, Program: {mapping.Program}, " +
 $"Protocol: {mapping.Protocol}, Version: {mapping.Version})";
Exemplo n.º 6
0
 private static bool IsProgramAndVersionAndProtocolEqual(
     Internal.Mapping mapping1,
     Internal.Mapping mapping2) =>
 IsProgramAndVersionEqual(mapping1, mapping2) && (mapping1.Protocol == mapping2.Protocol);
Exemplo n.º 7
0
 private static bool IsProgramAndVersionEqual(Internal.Mapping mapping1, Internal.Mapping mapping2) =>
 (mapping1.Program == mapping2.Program) && (mapping1.Version == mapping2.Version);