public override async Task WriteAsync(IEnumerable <Point> points) { LineProtocolWriter writer = new LineProtocolWriter(TimestampPrecision); foreach (var point in points) { writer.Write(point); } HttpResponseMessage response = await _client.PostAsync(_writeUri, new StringContent(writer.ToString())); if (response.StatusCode == HttpStatusCode.NoContent) { return; } if (response.StatusCode == HttpStatusCode.BadRequest) { throw new FormatException(await response.Content.ReadAsStringAsync()); } if (response.StatusCode == HttpStatusCode.NotFound) { throw new InvalidDataException(await response.Content.ReadAsStringAsync()); } if (response.StatusCode == HttpStatusCode.InternalServerError) { throw new Exception(await response.Content.ReadAsStringAsync()); } response.EnsureSuccessStatusCode(); }
public override Task WriteAsync(IEnumerable <Point> points) { LineProtocolWriter writer = new LineProtocolWriter(TimestampPrecision); foreach (var point in points) { writer.Write(point); } byte[] buffer = Encoding.UTF8.GetBytes(writer.ToString()); var completionSource = new TaskCompletionSource <object>(); var args = new SocketAsyncEventArgs { RemoteEndPoint = _endPoint, UserToken = completionSource }; args.SetBuffer(buffer, 0, buffer.Length); args.Completed += Completed; _socket.SendToAsync(args); return(completionSource.Task); }