private static Mapping Convert(Internal.Mapping internalMapping) => new Mapping { Protocol = Convert(internalMapping.Protocol), Port = internalMapping.Port, Program = internalMapping.Program, Version = internalMapping.Version };
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); } }
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); } }
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); } }
private static string ToLogString(Internal.Mapping mapping) => $"(Port: {mapping.Port}, Program: {mapping.Program}, " + $"Protocol: {mapping.Protocol}, Version: {mapping.Version})";
private static bool IsProgramAndVersionAndProtocolEqual( Internal.Mapping mapping1, Internal.Mapping mapping2) => IsProgramAndVersionEqual(mapping1, mapping2) && (mapping1.Protocol == mapping2.Protocol);
private static bool IsProgramAndVersionEqual(Internal.Mapping mapping1, Internal.Mapping mapping2) => (mapping1.Program == mapping2.Program) && (mapping1.Version == mapping2.Version);