public static IMetricMessageSender GetTransport(string address)
        {
            IMetricMessageSender transport = null;
            Uri    uri    = new Uri(address);
            string scheme = uri.Scheme;

            switch (scheme)
            {
            case "tcp":
                transport = new MetricTcpSender(uri.Host, uri.Port);
                break;

            case "udp":
                transport = new MetricUdpSender(uri.Host, uri.Port);
                break;

            case "unix":
                transport = new MetricUnixSender(uri.AbsolutePath);
                break;

            case "unixgram":
                transport = new MetricUnixgramSender(uri.AbsolutePath);
                break;

            default:
                throw new UriFormatException($"not allowed scheme {scheme}");
            }

            return(transport);
        }
 /// <summary>
 ///
 /// </summary>
 /// <exception cref="ArgumentNullException"></exception>
 /// <exception cref="UriFormatException"></exception>
 /// <param name="address"></param>
 public TgfClientProvider(string address, string[] tagKeys, string[] tagValues)
 {
     transport  = GetTransport(address);
     _tagNames  = tagKeys;
     _tagValues = tagValues;
 }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="transport"></param>
 /// <param name="tagKeys">Список тегов по-умолчанию</param>
 /// <param name="tagValues">Список значений тегов по-умолчанию</param>
 public TgfClient(IMetricMessageSender transport, string[] tagKeys, string[] tagValues)
 {
     this.transport = transport;
     tagKeysDef     = tagKeys;
     tagValuesDef   = tagValues;
 }
 /// <summary>
 ///
 /// </summary>
 /// <exception cref="ArgumentNullException"></exception>
 /// <exception cref="UriFormatException"></exception>
 /// <param name="address"></param>
 public TgfClientProvider(string address)
 {
     transport = GetTransport(address);
 }
Beispiel #5
0
 public TgfClient(IMetricMessageSender transport)
 {
     this.transport = transport;
 }