Commit 3ab97621 authored by Savorboard's avatar Savorboard

Code refactoring

parent 2e1cb035
......@@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Messages;
......@@ -27,8 +26,6 @@ namespace DotNetCore.CAP.AzureServiceBus
private SubscriptionClient _consumerClient;
private string _lockToken;
public AzureServiceBusConsumerClient(
ILogger logger,
string subscriptionName,
......@@ -97,12 +94,12 @@ namespace DotNetCore.CAP.AzureServiceBus
// ReSharper disable once FunctionNeverReturns
}
public void Commit()
public void Commit(object sender)
{
_consumerClient.CompleteAsync(_lockToken);
_consumerClient.CompleteAsync((string)sender);
}
public void Reject()
public void Reject(object sender)
{
// ignore
}
......@@ -162,13 +159,11 @@ namespace DotNetCore.CAP.AzureServiceBus
private Task OnConsumerReceived(Message message, CancellationToken token)
{
_lockToken = message.SystemProperties.LockToken;
var header = message.UserProperties.ToDictionary(x => x.Key, y => y.Value.ToString());
var context = new TransportMessage(header, message.Body);
OnMessageReceived?.Invoke(null, context);
OnMessageReceived?.Invoke(message.SystemProperties.LockToken, context);
return Task.CompletedTask;
}
......
......@@ -78,12 +78,12 @@ namespace DotNetCore.CAP.Kafka
// ReSharper disable once FunctionNeverReturns
}
public void Commit()
public void Commit(object sender)
{
_consumerClient.Commit();
_consumerClient.Commit((ConsumeResult<string, byte[]>)sender);
}
public void Reject()
public void Reject(object sender)
{
_consumerClient.Assign(_consumerClient.Assignment);
}
......
......@@ -25,7 +25,6 @@ namespace DotNetCore.CAP.RabbitMQ
private IModel _channel;
private IConnection _connection;
private ulong _deliveryTag;
public RabbitMQConsumerClient(string queueName,
IConnectionChannelPool connectionChannelPool,
......@@ -80,14 +79,14 @@ namespace DotNetCore.CAP.RabbitMQ
// ReSharper disable once FunctionNeverReturns
}
public void Commit()
public void Commit(object sender)
{
_channel.BasicAck(_deliveryTag, false);
_channel.BasicAck((ulong)sender, false);
}
public void Reject()
public void Reject(object sender)
{
_channel.BasicReject(_deliveryTag, true);
_channel.BasicReject((ulong)sender, true);
}
public void Dispose()
......@@ -162,8 +161,6 @@ namespace DotNetCore.CAP.RabbitMQ
private void OnConsumerReceived(object sender, BasicDeliverEventArgs e)
{
_deliveryTag = e.DeliveryTag;
var headers = new Dictionary<string, string>();
foreach (var header in e.BasicProperties.Headers)
{
......@@ -173,7 +170,7 @@ namespace DotNetCore.CAP.RabbitMQ
var message = new TransportMessage(headers, e.Body);
OnMessageReceived?.Invoke(sender, message);
OnMessageReceived?.Invoke(e.DeliveryTag, message);
}
private void OnConsumerShutdown(object sender, ShutdownEventArgs e)
......
......@@ -193,7 +193,7 @@ namespace DotNetCore.CAP.Internal
_storage.StoreReceivedExceptionMessage(name, group, content);
client.Commit();
client.Commit(sender);
TracingAfter(tracingTimestamp, transportMessage, _serverAddress);
}
......@@ -202,7 +202,7 @@ namespace DotNetCore.CAP.Internal
var mediumMessage = _storage.StoreReceivedMessage(name, group, message);
mediumMessage.Origin = message;
client.Commit();
client.Commit(sender);
TracingAfter(tracingTimestamp, transportMessage, _serverAddress);
......@@ -213,7 +213,7 @@ namespace DotNetCore.CAP.Internal
{
_logger.LogError(e, "An exception occurred when process received message. Message:'{0}'.", transportMessage);
client.Reject();
client.Reject(sender);
TracingError(tracingTimestamp, transportMessage, client.ServersAddress, e);
}
......
......@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Threading;
using DotNetCore.CAP.Messages;
using JetBrains.Annotations;
namespace DotNetCore.CAP.Transport
{
......@@ -30,12 +31,12 @@ namespace DotNetCore.CAP.Transport
/// <summary>
/// Manual submit message offset when the message consumption is complete
/// </summary>
void Commit();
void Commit([NotNull] object sender);
/// <summary>
/// Reject message and resumption
/// </summary>
void Reject();
void Reject([CanBeNull] object sender);
event EventHandler<TransportMessage> OnMessageReceived;
......
......@@ -49,12 +49,12 @@ namespace DotNetCore.CAP.Test.FakeInMemoryQueue
}
}
public void Commit()
public void Commit(object sender)
{
// ignore
}
public void Reject()
public void Reject(object sender)
{
// ignore
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment