Пример #1
0
    public static bool TryFactory(string str, ProtocolKey fallbackProtoKey, out ObjectNamedKey objKey)
    {
        if (string.IsNullOrWhiteSpace(str))
        {
            objKey = default(ObjectNamedKey);
            return(false);
        }
        var split = str.Split('.');

        if (split.Length >= 2)
        {
            objKey = new ObjectNamedKey(
                new ProtocolKey(string.Join(".", split.For(0, split.Length - 1))),
                string.Join(".", split[split.Length - 1]));
            return(true);
        }
        else if (split.Length == 1)
        {
            objKey = new ObjectNamedKey(
                fallbackProtoKey,
                split[0]);
            return(true);
        }
        objKey = default(ObjectNamedKey);
        return(false);
    }
Пример #2
0
 public ObjectNamedKey(
     ProtocolKey protocolKey,
     string name)
 {
     ProtocolKey = protocolKey;
     Name        = name;
 }
Пример #3
0
 public static ObjectNamedKey Factory(string str, ProtocolKey fallbackProtoKey)
 {
     if (!TryFactory(str, fallbackProtoKey, out var namedKey))
     {
         throw new ArgumentException($"{str} cannot be converted to a name key.");
     }
     return(namedKey);
 }
Пример #4
0
 public ObjectKey(
     ProtocolKey protocolKey,
     ushort msgID,
     ushort version)
 {
     ProtocolKey = protocolKey;
     MessageID   = msgID;
     Version     = version;
 }
Пример #5
0
 public bool TryGetProtocol(ProtocolKey protocol, out ProtocolGeneration protoGen)
 {
     return(_protocols.TryGetValue(protocol, out protoGen));
 }