public async Task <PostMessagesResponse> Append(string id, ICollection <Message> writes) { var writer = _scheduler; if (null != writer) { using (Metrics.StartTimer("api.append")) { var result = await writer.Append(id, writes); return(PostMessagesResponse.FromAppendResult(result)); } } using (Metrics.StartTimer("api.forward")) { var endpoint = await _poller.GetLeaderClientAsync(); var result = await endpoint.PostMessagesAsync(id, writes); return(result); } }