示例#1
0
        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);
            }
        }