Commit 82416af8 authored by Savorboard's avatar Savorboard

Code cleanup

parent fa9b4a3b
......@@ -8,10 +8,10 @@ namespace DotNetCore.CAP.Diagnostics
/// </summary>
public static class CapDiagnosticListenerNames
{
public const string DiagnosticListenerName = "CapDiagnosticListener";
private const string CapPrefix = "DotNetCore.CAP.";
public const string DiagnosticListenerName = "CapDiagnosticListener";
public const string BeforePublishMessageStore = CapPrefix + "WritePublishMessageStoreBefore";
public const string AfterPublishMessageStore = CapPrefix + "WritePublishMessageStoreAfter";
public const string ErrorPublishMessageStore = CapPrefix + "WritePublishMessageStoreError";
......
This diff is collapsed.
......@@ -8,21 +8,14 @@ namespace DotNetCore.CAP.Internal
{
internal class ConsumerInvokerFactory : IConsumerInvokerFactory
{
private readonly ILoggerFactory _loggerFactory;
//private readonly IMessagePacker _messagePacker;
//
//private readonly IModelBinderFactory _modelBinderFactory;
private readonly ILoggerFactory _loggerFactory;
private readonly IServiceProvider _serviceProvider;
public ConsumerInvokerFactory(
ILoggerFactory loggerFactory,
//IMessagePacker messagePacker,
//IModelBinderFactory modelBinderFactory,
ILoggerFactory loggerFactory,
IServiceProvider serviceProvider)
{
_loggerFactory = loggerFactory;
//_messagePacker = messagePacker;
//_modelBinderFactory = modelBinderFactory;
_loggerFactory = loggerFactory;
_serviceProvider = serviceProvider;
}
......
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace DotNetCore.CAP.Internal
{
internal struct HashCodeCombiner
{
private long _combinedHash64;
public int CombinedHash
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get { return _combinedHash64.GetHashCode(); }
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private HashCodeCombiner(long seed)
{
_combinedHash64 = seed;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(IEnumerable e)
{
if (e == null)
{
Add(0);
}
else
{
var count = 0;
foreach (var o in e)
{
Add(o);
count++;
}
Add(count);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator int(HashCodeCombiner self)
{
return self.CombinedHash;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(int i)
{
_combinedHash64 = ((_combinedHash64 << 5) + _combinedHash64) ^ i;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(string s)
{
var hashCode = s != null ? s.GetHashCode() : 0;
Add(hashCode);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(object o)
{
var hashCode = o != null ? o.GetHashCode() : 0;
Add(hashCode);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add<TValue>(TValue value, IEqualityComparer<TValue> comparer)
{
var hashCode = value != null ? comparer.GetHashCode(value) : 0;
Add(hashCode);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static HashCodeCombiner Start()
{
return new HashCodeCombiner(0x1505L);
}
}
}
\ No newline at end of file
......@@ -17,7 +17,7 @@ namespace DotNetCore.CAP.Internal
private readonly ILogger _logger;
private readonly IServiceProvider _serviceProvider;
public DefaultConsumerInvoker(ILoggerFactory loggerFactory,IServiceProvider serviceProvider)
public DefaultConsumerInvoker(ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
_logger = loggerFactory.CreateLogger<DefaultConsumerInvoker>();
......
......@@ -157,9 +157,6 @@ namespace DotNetCore.CAP.Internal
{
tracingTimestamp = TracingBefore(transportMessage, _serverAddress);
var startTime = DateTimeOffset.UtcNow;
var stopwatch = Stopwatch.StartNew();
var name = transportMessage.GetName();
var group = transportMessage.GetGroup();
......@@ -171,7 +168,11 @@ namespace DotNetCore.CAP.Internal
if (!canFindSubscriber)
{
var error = $"Message can not be found subscriber. Name:{name}, Group:{group}. {Environment.NewLine} see: https://github.com/dotnetcore/CAP/issues/63";
throw new SubscriberNotFoundException(error);
var ex = new SubscriberNotFoundException(error);
TracingError(tracingTimestamp, transportMessage, client.ServersAddress, ex);
throw ex;
}
var type = executor.Parameters.FirstOrDefault(x => x.IsFromCap == false)?.ParameterType;
......
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
using System.Threading.Tasks;
namespace DotNetCore.CAP.Internal
{
public interface IMongoTransaction : IDisposable
{
/// <summary>
/// If set true, the session.CommitTransaction() will be called automatically.
/// </summary>
/// <value></value>
bool AutoCommit { get; set; }
Task<IMongoTransaction> BeginAsync(bool autoCommit = true);
IMongoTransaction Begin(bool autoCommit = true);
}
}
\ No newline at end of file
......@@ -196,9 +196,11 @@ namespace DotNetCore.CAP.Internal
}
catch (Exception ex)
{
TracingError(tracingTimestamp, message.Origin, descriptor.MethodInfo, ex);
var e = new SubscriberExecutionFailedException(ex.Message, ex);
TracingError(tracingTimestamp, message.Origin, descriptor.MethodInfo, e);
throw new SubscriberExecutionFailedException(ex.Message, ex);
throw e;
}
}
......
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
using System.Threading;
using System.Threading.Tasks;
namespace DotNetCore.CAP.Internal
{
public static class WaitHandleEx
{
public static Task WaitAnyAsync(WaitHandle handle1, WaitHandle handle2, TimeSpan timeout)
{
var t1 = handle1.WaitOneAsync(timeout);
var t2 = handle2.WaitOneAsync(timeout);
return Task.WhenAny(t1, t2);
}
public static async Task<bool> WaitOneAsync(this WaitHandle handle, TimeSpan timeout)
{
RegisteredWaitHandle registeredHandle = null;
try
{
var tcs = new TaskCompletionSource<bool>();
registeredHandle = ThreadPool.RegisterWaitForSingleObject(
handle,
(state, timedOut) => ((TaskCompletionSource<bool>) state).TrySetResult(!timedOut),
tcs,
timeout,
true);
return await tcs.Task;
}
finally
{
registeredHandle?.Unregister(null);
}
}
}
}
\ No newline at end of file
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