diff --git a/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClient.cs b/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClient.cs
index 5a69eb7..ceb7b13 100644
--- a/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClient.cs
+++ b/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClient.cs
@@ -8,6 +8,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Messages;
+using DotNetCore.CAP.Transport;
using Microsoft.Azure.ServiceBus;
using Microsoft.Azure.ServiceBus.Management;
using Microsoft.Extensions.Logging;
diff --git a/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClientFactory.cs b/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClientFactory.cs
index 20f25f6..d7dd426 100644
--- a/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClientFactory.cs
+++ b/src/DotNetCore.CAP.AzureServiceBus/AzureServiceBusConsumerClientFactory.cs
@@ -1,6 +1,7 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
diff --git a/src/DotNetCore.CAP.Dashboard/DashboardRoutes.cs b/src/DotNetCore.CAP.Dashboard/DashboardRoutes.cs
index 3ba3ba8..86b04aa 100644
--- a/src/DotNetCore.CAP.Dashboard/DashboardRoutes.cs
+++ b/src/DotNetCore.CAP.Dashboard/DashboardRoutes.cs
@@ -3,6 +3,8 @@
using System.Reflection;
using DotNetCore.CAP.Dashboard.Pages;
+using DotNetCore.CAP.Internal;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.DependencyInjection;
namespace DotNetCore.CAP.Dashboard
diff --git a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/CAP.DiscoveryOptionsExtensions.cs b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/CAP.DiscoveryOptionsExtensions.cs
index 400e91c..488f3cb 100644
--- a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/CAP.DiscoveryOptionsExtensions.cs
+++ b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/CAP.DiscoveryOptionsExtensions.cs
@@ -3,6 +3,7 @@
using System;
using DotNetCore.CAP;
+using DotNetCore.CAP.Internal;
using Microsoft.Extensions.DependencyInjection;
namespace DotNetCore.CAP.Dashboard.NodeDiscovery
diff --git a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/IProcessingServer.Consul.cs b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/IProcessingServer.Consul.cs
index c801698..9dd565b 100644
--- a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/IProcessingServer.Consul.cs
+++ b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/IProcessingServer.Consul.cs
@@ -1,6 +1,8 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using DotNetCore.CAP.Internal;
+
namespace DotNetCore.CAP.Dashboard.NodeDiscovery
{
internal class ConsulProcessingNodeServer : IProcessingServer
diff --git a/src/DotNetCore.CAP.InMemoryStorage/ICapTransaction.InMemory.cs b/src/DotNetCore.CAP.InMemoryStorage/ICapTransaction.InMemory.cs
index e4813be..6d99bc5 100644
--- a/src/DotNetCore.CAP.InMemoryStorage/ICapTransaction.InMemory.cs
+++ b/src/DotNetCore.CAP.InMemoryStorage/ICapTransaction.InMemory.cs
@@ -5,6 +5,7 @@
using System.Threading;
using System.Threading.Tasks;
+using DotNetCore.CAP.Transport;
namespace DotNetCore.CAP.InMemoryStorage
{
diff --git a/src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs b/src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs
index a78eb9f..d9e111e 100644
--- a/src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs
+++ b/src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs
@@ -8,6 +8,7 @@ using System.Text;
using System.Threading;
using Confluent.Kafka;
using DotNetCore.CAP.Messages;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Options;
namespace DotNetCore.CAP.Kafka
diff --git a/src/DotNetCore.CAP.Kafka/KafkaConsumerClientFactory.cs b/src/DotNetCore.CAP.Kafka/KafkaConsumerClientFactory.cs
index 1c1ebf0..59374bd 100644
--- a/src/DotNetCore.CAP.Kafka/KafkaConsumerClientFactory.cs
+++ b/src/DotNetCore.CAP.Kafka/KafkaConsumerClientFactory.cs
@@ -1,6 +1,7 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Options;
namespace DotNetCore.CAP.Kafka
diff --git a/src/DotNetCore.CAP.MongoDB/ICapTransaction.MongoDB.cs b/src/DotNetCore.CAP.MongoDB/ICapTransaction.MongoDB.cs
index ce9aae3..1694b86 100644
--- a/src/DotNetCore.CAP.MongoDB/ICapTransaction.MongoDB.cs
+++ b/src/DotNetCore.CAP.MongoDB/ICapTransaction.MongoDB.cs
@@ -4,6 +4,7 @@
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.DependencyInjection;
using MongoDB.Driver;
diff --git a/src/DotNetCore.CAP.MySql/ICapTransaction.MySql.cs b/src/DotNetCore.CAP.MySql/ICapTransaction.MySql.cs
index fac7430..66c320e 100644
--- a/src/DotNetCore.CAP.MySql/ICapTransaction.MySql.cs
+++ b/src/DotNetCore.CAP.MySql/ICapTransaction.MySql.cs
@@ -5,6 +5,7 @@ using System.Data;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
+using DotNetCore.CAP.Transport;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
diff --git a/src/DotNetCore.CAP.PostgreSql/ICapTransaction.PostgreSql.cs b/src/DotNetCore.CAP.PostgreSql/ICapTransaction.PostgreSql.cs
index 012578c..76aeb20 100644
--- a/src/DotNetCore.CAP.PostgreSql/ICapTransaction.PostgreSql.cs
+++ b/src/DotNetCore.CAP.PostgreSql/ICapTransaction.PostgreSql.cs
@@ -5,6 +5,7 @@ using System.Data;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
+using DotNetCore.CAP.Transport;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
diff --git a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
index ba65bd4..2e61906 100644
--- a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
+++ b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Text;
using System.Threading;
using DotNetCore.CAP.Messages;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Options;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
diff --git a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClientFactory.cs b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClientFactory.cs
index 0a9d541..ff178b5 100644
--- a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClientFactory.cs
+++ b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClientFactory.cs
@@ -1,6 +1,7 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Options;
namespace DotNetCore.CAP.RabbitMQ
diff --git a/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticObserver.cs b/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticObserver.cs
index 432185a..1f43bd7 100644
--- a/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticObserver.cs
+++ b/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticObserver.cs
@@ -6,6 +6,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Reflection;
using DotNetCore.CAP.Persistence;
+using DotNetCore.CAP.Transport;
using Microsoft.Data.SqlClient;
namespace DotNetCore.CAP.SqlServer.Diagnostics
diff --git a/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticProcessorObserver.cs b/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticProcessorObserver.cs
index 53b22cc..ea14ca2 100644
--- a/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticProcessorObserver.cs
+++ b/src/DotNetCore.CAP.SqlServer/Diagnostics/DiagnosticProcessorObserver.cs
@@ -6,6 +6,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using DotNetCore.CAP.Persistence;
+using DotNetCore.CAP.Transport;
namespace DotNetCore.CAP.SqlServer.Diagnostics
{
diff --git a/src/DotNetCore.CAP.SqlServer/ICapTransaction.SqlServer.cs b/src/DotNetCore.CAP.SqlServer/ICapTransaction.SqlServer.cs
index 817c983..7a7d4e9 100644
--- a/src/DotNetCore.CAP.SqlServer/ICapTransaction.SqlServer.cs
+++ b/src/DotNetCore.CAP.SqlServer/ICapTransaction.SqlServer.cs
@@ -9,6 +9,7 @@ using System.Threading.Tasks;
using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Persistence;
using DotNetCore.CAP.SqlServer.Diagnostics;
+using DotNetCore.CAP.Transport;
using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
diff --git a/src/DotNetCore.CAP/Abstractions/IModelBinderFactory.cs b/src/DotNetCore.CAP/Abstractions/IModelBinderFactory.cs
deleted file mode 100644
index ce5de92..0000000
--- a/src/DotNetCore.CAP/Abstractions/IModelBinderFactory.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// 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.Reflection;
-using DotNetCore.CAP.Abstractions.ModelBinding;
-
-namespace DotNetCore.CAP.Abstractions
-{
- ///
- /// Model binder factory.
- ///
- public interface IModelBinderFactory
- {
- ///
- /// Create a model binder by parameter.
- ///
- /// The method parameter info
- /// A model binder instance.
- IModelBinder CreateBinder(ParameterInfo parameter);
- }
-}
\ No newline at end of file
diff --git a/src/DotNetCore.CAP/Abstractions/ModelBinding/IModelBinder.cs b/src/DotNetCore.CAP/Abstractions/ModelBinding/IModelBinder.cs
deleted file mode 100644
index 6914c47..0000000
--- a/src/DotNetCore.CAP/Abstractions/ModelBinding/IModelBinder.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// 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.Threading.Tasks;
-
-namespace DotNetCore.CAP.Abstractions.ModelBinding
-{
- ///
- /// Defines an interface for model binders.
- ///
- public interface IModelBinder
- {
- Task BindModelAsync(string content);
- }
-}
\ No newline at end of file
diff --git a/src/DotNetCore.CAP/Abstractions/ModelBinding/ModelBindingResult.cs b/src/DotNetCore.CAP/Abstractions/ModelBinding/ModelBindingResult.cs
deleted file mode 100644
index 62a9337..0000000
--- a/src/DotNetCore.CAP/Abstractions/ModelBinding/ModelBindingResult.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright (c) .NET Core Community. All rights reserved.
-// Licensed under the MIT License. See License.txt in the project root for license information.
-
-using DotNetCore.CAP.Internal;
-
-namespace DotNetCore.CAP.Abstractions.ModelBinding
-{
- ///
- /// Contains the result of model binding.
- ///
- public struct ModelBindingResult
- {
- ///
- /// Creates a representing a failed model binding operation.
- ///
- /// A representing a failed model binding operation.
- public static ModelBindingResult Failed()
- {
- return new ModelBindingResult(null, false);
- }
-
- ///
- /// Creates a representing a successful model binding operation.
- ///
- /// The model value. May be null.
- /// A representing a successful model bind.
- public static ModelBindingResult Success(object model)
- {
- return new ModelBindingResult(model, true);
- }
-
- private ModelBindingResult(object model, bool isSuccess)
- {
- Model = model;
- IsSuccess = isSuccess;
- }
-
- ///
- /// Gets the model associated with this context.
- ///
- public object Model { get; }
-
- public bool IsSuccess { get; }
-
- public override string ToString()
- {
- if (IsSuccess)
- {
- return $"Success '{Model}'";
- }
-
- return "Failed";
- }
-
- public override bool Equals(object obj)
- {
- var other = obj as ModelBindingResult?;
- if (other == null)
- {
- return false;
- }
-
- return Equals(other.Value);
- }
-
- public override int GetHashCode()
- {
- var hashCodeCombiner = HashCodeCombiner.Start();
- hashCodeCombiner.Add(IsSuccess);
- hashCodeCombiner.Add(Model);
-
- return hashCodeCombiner.CombinedHash;
- }
-
- public bool Equals(ModelBindingResult other)
- {
- return
- IsSuccess == other.IsSuccess &&
- Equals(Model, other.Model);
- }
-
- ///
- /// Compares objects for equality.
- ///
- /// A .
- /// A .
- /// true if the objects are equal, otherwise false.
- public static bool operator ==(ModelBindingResult x, ModelBindingResult y)
- {
- return x.Equals(y);
- }
-
- ///
- /// Compares objects for inequality.
- ///
- /// A .
- /// A .
- /// true if the objects are not equal, otherwise false.
- public static bool operator !=(ModelBindingResult x, ModelBindingResult y)
- {
- return !x.Equals(y);
- }
- }
-}
\ No newline at end of file
diff --git a/src/DotNetCore.CAP/CAP.Attribute.cs b/src/DotNetCore.CAP/CAP.Attribute.cs
index 242bc47..40092a5 100644
--- a/src/DotNetCore.CAP/CAP.Attribute.cs
+++ b/src/DotNetCore.CAP/CAP.Attribute.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
-using DotNetCore.CAP.Abstractions;
+using DotNetCore.CAP.Internal;
// ReSharper disable once CheckNamespace
namespace DotNetCore.CAP
diff --git a/src/DotNetCore.CAP/CAP.Builder.cs b/src/DotNetCore.CAP/CAP.Builder.cs
index c737b8a..ba58e2c 100644
--- a/src/DotNetCore.CAP/CAP.Builder.cs
+++ b/src/DotNetCore.CAP/CAP.Builder.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
-using DotNetCore.CAP.Abstractions;
using Microsoft.Extensions.DependencyInjection;
namespace DotNetCore.CAP
diff --git a/src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs b/src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs
index 2275439..bd59c21 100644
--- a/src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs
+++ b/src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs
@@ -3,10 +3,10 @@
using System;
using DotNetCore.CAP;
-using DotNetCore.CAP.Abstractions;
using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Processor;
using DotNetCore.CAP.Serialization;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.DependencyInjection.Extensions;
// ReSharper disable once CheckNamespace
diff --git a/src/DotNetCore.CAP/ICapTransaction.Base.cs b/src/DotNetCore.CAP/ICapTransaction.Base.cs
index 1df1af2..6a9a92e 100644
--- a/src/DotNetCore.CAP/ICapTransaction.Base.cs
+++ b/src/DotNetCore.CAP/ICapTransaction.Base.cs
@@ -2,6 +2,7 @@
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Persistence;
+using DotNetCore.CAP.Transport;
namespace DotNetCore.CAP
{
diff --git a/src/DotNetCore.CAP/ConsumerExecutorDescriptor.cs b/src/DotNetCore.CAP/Internal/ConsumerExecutorDescriptor.cs
similarity index 93%
rename from src/DotNetCore.CAP/ConsumerExecutorDescriptor.cs
rename to src/DotNetCore.CAP/Internal/ConsumerExecutorDescriptor.cs
index 6a7795a..b7a0f8f 100644
--- a/src/DotNetCore.CAP/ConsumerExecutorDescriptor.cs
+++ b/src/DotNetCore.CAP/Internal/ConsumerExecutorDescriptor.cs
@@ -4,9 +4,8 @@
using System;
using System.Collections.Generic;
using System.Reflection;
-using DotNetCore.CAP.Abstractions;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
/// A descriptor of user definition method.
diff --git a/src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs b/src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs
index cb7247a..10381af 100644
--- a/src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs
+++ b/src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
-using DotNetCore.CAP.Abstractions;
using Microsoft.Extensions.Logging;
namespace DotNetCore.CAP.Internal
diff --git a/src/DotNetCore.CAP/IBootstrapper.Default.cs b/src/DotNetCore.CAP/Internal/IBootstrapper.Default.cs
similarity index 95%
rename from src/DotNetCore.CAP/IBootstrapper.Default.cs
rename to src/DotNetCore.CAP/Internal/IBootstrapper.Default.cs
index f580efa..9f09318 100644
--- a/src/DotNetCore.CAP/IBootstrapper.Default.cs
+++ b/src/DotNetCore.CAP/Internal/IBootstrapper.Default.cs
@@ -9,10 +9,10 @@ using DotNetCore.CAP.Persistence;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
- /// Default implement of .
+ /// Default implement of .
///
internal class DefaultBootstrapper : BackgroundService, IBootstrapper
{
diff --git a/src/DotNetCore.CAP/IBootstrapper.cs b/src/DotNetCore.CAP/Internal/IBootstrapper.cs
similarity index 93%
rename from src/DotNetCore.CAP/IBootstrapper.cs
rename to src/DotNetCore.CAP/Internal/IBootstrapper.cs
index b781c55..67fc601 100644
--- a/src/DotNetCore.CAP/IBootstrapper.cs
+++ b/src/DotNetCore.CAP/Internal/IBootstrapper.cs
@@ -4,7 +4,7 @@
using System.Threading;
using System.Threading.Tasks;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
/// Represents bootstrapping logic. For example, adding initial state to the storage or querying certain entities.
diff --git a/src/DotNetCore.CAP/Abstractions/CapPublisher.cs b/src/DotNetCore.CAP/Internal/ICapPublisher.Default.cs
similarity index 97%
rename from src/DotNetCore.CAP/Abstractions/CapPublisher.cs
rename to src/DotNetCore.CAP/Internal/ICapPublisher.Default.cs
index d9dd8de..e822fb6 100644
--- a/src/DotNetCore.CAP/Abstractions/CapPublisher.cs
+++ b/src/DotNetCore.CAP/Internal/ICapPublisher.Default.cs
@@ -7,14 +7,14 @@ using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Diagnostics;
-using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Messages;
using DotNetCore.CAP.Persistence;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.DependencyInjection;
-namespace DotNetCore.CAP.Abstractions
+namespace DotNetCore.CAP.Internal
{
- public class CapPublisher : ICapPublisher
+ internal class CapPublisher : ICapPublisher
{
private readonly IDispatcher _dispatcher;
private readonly IDataStorage _storage;
diff --git a/src/DotNetCore.CAP/IConsumerRegister.Default.cs b/src/DotNetCore.CAP/Internal/IConsumerRegister.Default.cs
similarity index 99%
rename from src/DotNetCore.CAP/IConsumerRegister.Default.cs
rename to src/DotNetCore.CAP/Internal/IConsumerRegister.Default.cs
index dd4f2ec..70e800c 100644
--- a/src/DotNetCore.CAP/IConsumerRegister.Default.cs
+++ b/src/DotNetCore.CAP/Internal/IConsumerRegister.Default.cs
@@ -4,19 +4,17 @@
using System;
using System.Diagnostics;
using System.Linq;
-using System.Text;
-using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Diagnostics;
-using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Messages;
using DotNetCore.CAP.Persistence;
using DotNetCore.CAP.Serialization;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
internal class ConsumerRegister : IConsumerRegister
{
diff --git a/src/DotNetCore.CAP/IConsumerRegister.cs b/src/DotNetCore.CAP/Internal/IConsumerRegister.cs
similarity index 91%
rename from src/DotNetCore.CAP/IConsumerRegister.cs
rename to src/DotNetCore.CAP/Internal/IConsumerRegister.cs
index 58b7327..1ae1323 100644
--- a/src/DotNetCore.CAP/IConsumerRegister.cs
+++ b/src/DotNetCore.CAP/Internal/IConsumerRegister.cs
@@ -1,7 +1,7 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
/// Handler received message of subscribed.
diff --git a/src/DotNetCore.CAP/IConsumerServiceSelector.Default.cs b/src/DotNetCore.CAP/Internal/IConsumerServiceSelector.Default.cs
similarity index 96%
rename from src/DotNetCore.CAP/IConsumerServiceSelector.Default.cs
rename to src/DotNetCore.CAP/Internal/IConsumerServiceSelector.Default.cs
index e7b9a56..7233980 100644
--- a/src/DotNetCore.CAP/IConsumerServiceSelector.Default.cs
+++ b/src/DotNetCore.CAP/Internal/IConsumerServiceSelector.Default.cs
@@ -1,233 +1,231 @@
-// 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.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using DotNetCore.CAP.Abstractions;
-using Microsoft.Extensions.DependencyInjection;
-using System.Collections.Concurrent;
-using DotNetCore.CAP.Internal;
-using Microsoft.Extensions.Options;
-
-namespace DotNetCore.CAP
-{
- ///
- ///
- /// A default implementation.
- ///
- public class DefaultConsumerServiceSelector : IConsumerServiceSelector
- {
- private readonly CapOptions _capOptions;
- private readonly IServiceProvider _serviceProvider;
-
- ///
- /// since this class be designed as a Singleton service,the following two list must be thread safe!
- ///
- private readonly ConcurrentDictionary>> _asteriskList;
- private readonly ConcurrentDictionary>> _poundList;
-
- ///
- /// Creates a new .
- ///
- public DefaultConsumerServiceSelector(IServiceProvider serviceProvider)
- {
- _serviceProvider = serviceProvider;
- _capOptions = serviceProvider.GetService>().Value;
-
- _asteriskList = new ConcurrentDictionary>>();
- _poundList = new ConcurrentDictionary>>();
- }
-
- public IReadOnlyList SelectCandidates()
- {
- var executorDescriptorList = new List();
-
- executorDescriptorList.AddRange(FindConsumersFromInterfaceTypes(_serviceProvider));
-
- executorDescriptorList.AddRange(FindConsumersFromControllerTypes());
-
- return executorDescriptorList;
- }
-
- public ConsumerExecutorDescriptor SelectBestCandidate(string key, IReadOnlyList executeDescriptor)
- {
- var result = MatchUsingName(key, executeDescriptor);
- if (result != null)
- {
- return result;
- }
-
- //[*] match with regex, i.e. foo.*.abc
- result = MatchAsteriskUsingRegex(key, executeDescriptor);
- if (result != null)
- {
- return result;
- }
-
- //[#] match regex, i.e. foo.#
- result = MatchPoundUsingRegex(key, executeDescriptor);
- return result;
- }
-
- protected virtual IEnumerable FindConsumersFromInterfaceTypes(
- IServiceProvider provider)
- {
- var executorDescriptorList = new List();
-
- var capSubscribeTypeInfo = typeof(ICapSubscribe).GetTypeInfo();
-
- foreach (var service in ServiceCollectionExtensions.ServiceCollection.Where(o => o.ImplementationType != null && o.ServiceType != null))
- {
- var typeInfo = service.ImplementationType.GetTypeInfo();
- if (!capSubscribeTypeInfo.IsAssignableFrom(typeInfo))
- {
- continue;
- }
- var serviceTypeInfo = service.ServiceType.GetTypeInfo();
-
- executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo, serviceTypeInfo));
- }
-
- return executorDescriptorList;
- }
-
- protected virtual IEnumerable FindConsumersFromControllerTypes()
- {
- var executorDescriptorList = new List();
-
- var types = Assembly.GetEntryAssembly().ExportedTypes;
- foreach (var type in types)
- {
- var typeInfo = type.GetTypeInfo();
- if (Helper.IsController(typeInfo))
- {
- executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo));
- }
- }
-
- return executorDescriptorList;
- }
-
- protected IEnumerable GetTopicAttributesDescription(TypeInfo typeInfo, TypeInfo serviceTypeInfo = null)
- {
- foreach (var method in typeInfo.DeclaredMethods)
- {
- var topicAttr = method.GetCustomAttributes(true);
- var topicAttributes = topicAttr as IList ?? topicAttr.ToList();
-
- if (!topicAttributes.Any())
- {
- continue;
- }
-
- foreach (var attr in topicAttributes)
- {
- if (attr.Group == null)
- {
- attr.Group = _capOptions.DefaultGroup + "." + _capOptions.Version;
- }
- else
- {
- attr.Group = attr.Group + "." + _capOptions.Version;
- }
-
- var parameters = method.GetParameters()
- .Select(parameter => new ParameterDescriptor
- {
- Name = parameter.Name,
- ParameterType = parameter.ParameterType,
- IsFromCap = parameter.GetCustomAttributes(typeof(FromCapAttribute)).Any()
- }).ToList();
-
- yield return InitDescriptor(attr, method, typeInfo, serviceTypeInfo, parameters);
- }
- }
- }
-
- private static ConsumerExecutorDescriptor InitDescriptor(
- TopicAttribute attr,
- MethodInfo methodInfo,
- TypeInfo implType,
- TypeInfo serviceTypeInfo,
- IList parameters)
- {
- var descriptor = new ConsumerExecutorDescriptor
- {
- Attribute = attr,
- MethodInfo = methodInfo,
- ImplTypeInfo = implType,
- ServiceTypeInfo = serviceTypeInfo,
- Parameters = parameters
- };
-
- return descriptor;
- }
-
- private ConsumerExecutorDescriptor MatchUsingName(string key, IReadOnlyList executeDescriptor)
- {
- return executeDescriptor.FirstOrDefault(x => x.Attribute.Name == key);
- }
-
- private ConsumerExecutorDescriptor MatchAsteriskUsingRegex(string key, IReadOnlyList executeDescriptor)
- {
- var group = executeDescriptor.First().Attribute.Group;
- if (!_asteriskList.TryGetValue(group, out var tmpList))
- {
- tmpList = executeDescriptor.Where(x => x.Attribute.Name.IndexOf('*') >= 0)
- .Select(x => new RegexExecuteDescriptor
- {
- Name = ("^" + x.Attribute.Name + "$").Replace("*", "[0-9_a-zA-Z]+").Replace(".", "\\."),
- Descriptor = x
- }).ToList();
- _asteriskList.TryAdd(group, tmpList);
- }
-
- foreach (var red in tmpList)
- {
- if (Regex.IsMatch(key, red.Name, RegexOptions.Singleline))
- {
- return red.Descriptor;
- }
- }
-
- return null;
- }
-
- private ConsumerExecutorDescriptor MatchPoundUsingRegex(string key, IReadOnlyList executeDescriptor)
- {
- var group = executeDescriptor.First().Attribute.Group;
- if (!_poundList.TryGetValue(group, out var tmpList))
- {
- tmpList = executeDescriptor
- .Where(x => x.Attribute.Name.IndexOf('#') >= 0)
- .Select(x => new RegexExecuteDescriptor
- {
- Name = ("^" + x.Attribute.Name.Replace(".", "\\.") + "$").Replace("#", "[0-9_a-zA-Z\\.]+"),
- Descriptor = x
- }).ToList();
- _poundList.TryAdd(group, tmpList);
- }
-
- foreach (var red in tmpList)
- {
- if (Regex.IsMatch(key, red.Name, RegexOptions.Singleline))
- {
- return red.Descriptor;
- }
- }
-
- return null;
- }
-
-
- private class RegexExecuteDescriptor
- {
- public string Name { get; set; }
-
- public T Descriptor { get; set; }
- }
- }
-}
+// 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.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text.RegularExpressions;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Options;
+
+namespace DotNetCore.CAP.Internal
+{
+ ///
+ ///
+ /// A default implementation.
+ ///
+ public class DefaultConsumerServiceSelector : IConsumerServiceSelector
+ {
+ private readonly CapOptions _capOptions;
+ private readonly IServiceProvider _serviceProvider;
+
+ ///
+ /// since this class be designed as a Singleton service,the following two list must be thread safe!
+ ///
+ private readonly ConcurrentDictionary>> _asteriskList;
+ private readonly ConcurrentDictionary>> _poundList;
+
+ ///
+ /// Creates a new .
+ ///
+ public DefaultConsumerServiceSelector(IServiceProvider serviceProvider)
+ {
+ _serviceProvider = serviceProvider;
+ _capOptions = serviceProvider.GetService>().Value;
+
+ _asteriskList = new ConcurrentDictionary>>();
+ _poundList = new ConcurrentDictionary>>();
+ }
+
+ public IReadOnlyList SelectCandidates()
+ {
+ var executorDescriptorList = new List();
+
+ executorDescriptorList.AddRange(FindConsumersFromInterfaceTypes(_serviceProvider));
+
+ executorDescriptorList.AddRange(FindConsumersFromControllerTypes());
+
+ return executorDescriptorList;
+ }
+
+ public ConsumerExecutorDescriptor SelectBestCandidate(string key, IReadOnlyList executeDescriptor)
+ {
+ var result = MatchUsingName(key, executeDescriptor);
+ if (result != null)
+ {
+ return result;
+ }
+
+ //[*] match with regex, i.e. foo.*.abc
+ result = MatchAsteriskUsingRegex(key, executeDescriptor);
+ if (result != null)
+ {
+ return result;
+ }
+
+ //[#] match regex, i.e. foo.#
+ result = MatchPoundUsingRegex(key, executeDescriptor);
+ return result;
+ }
+
+ protected virtual IEnumerable FindConsumersFromInterfaceTypes(
+ IServiceProvider provider)
+ {
+ var executorDescriptorList = new List();
+
+ var capSubscribeTypeInfo = typeof(ICapSubscribe).GetTypeInfo();
+
+ foreach (var service in ServiceCollectionExtensions.ServiceCollection.Where(o => o.ImplementationType != null && o.ServiceType != null))
+ {
+ var typeInfo = service.ImplementationType.GetTypeInfo();
+ if (!capSubscribeTypeInfo.IsAssignableFrom(typeInfo))
+ {
+ continue;
+ }
+ var serviceTypeInfo = service.ServiceType.GetTypeInfo();
+
+ executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo, serviceTypeInfo));
+ }
+
+ return executorDescriptorList;
+ }
+
+ protected virtual IEnumerable FindConsumersFromControllerTypes()
+ {
+ var executorDescriptorList = new List();
+
+ var types = Assembly.GetEntryAssembly().ExportedTypes;
+ foreach (var type in types)
+ {
+ var typeInfo = type.GetTypeInfo();
+ if (Helper.IsController(typeInfo))
+ {
+ executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo));
+ }
+ }
+
+ return executorDescriptorList;
+ }
+
+ protected IEnumerable GetTopicAttributesDescription(TypeInfo typeInfo, TypeInfo serviceTypeInfo = null)
+ {
+ foreach (var method in typeInfo.DeclaredMethods)
+ {
+ var topicAttr = method.GetCustomAttributes(true);
+ var topicAttributes = topicAttr as IList ?? topicAttr.ToList();
+
+ if (!topicAttributes.Any())
+ {
+ continue;
+ }
+
+ foreach (var attr in topicAttributes)
+ {
+ if (attr.Group == null)
+ {
+ attr.Group = _capOptions.DefaultGroup + "." + _capOptions.Version;
+ }
+ else
+ {
+ attr.Group = attr.Group + "." + _capOptions.Version;
+ }
+
+ var parameters = method.GetParameters()
+ .Select(parameter => new ParameterDescriptor
+ {
+ Name = parameter.Name,
+ ParameterType = parameter.ParameterType,
+ IsFromCap = parameter.GetCustomAttributes(typeof(FromCapAttribute)).Any()
+ }).ToList();
+
+ yield return InitDescriptor(attr, method, typeInfo, serviceTypeInfo, parameters);
+ }
+ }
+ }
+
+ private static ConsumerExecutorDescriptor InitDescriptor(
+ TopicAttribute attr,
+ MethodInfo methodInfo,
+ TypeInfo implType,
+ TypeInfo serviceTypeInfo,
+ IList parameters)
+ {
+ var descriptor = new ConsumerExecutorDescriptor
+ {
+ Attribute = attr,
+ MethodInfo = methodInfo,
+ ImplTypeInfo = implType,
+ ServiceTypeInfo = serviceTypeInfo,
+ Parameters = parameters
+ };
+
+ return descriptor;
+ }
+
+ private ConsumerExecutorDescriptor MatchUsingName(string key, IReadOnlyList executeDescriptor)
+ {
+ return executeDescriptor.FirstOrDefault(x => x.Attribute.Name == key);
+ }
+
+ private ConsumerExecutorDescriptor MatchAsteriskUsingRegex(string key, IReadOnlyList executeDescriptor)
+ {
+ var group = executeDescriptor.First().Attribute.Group;
+ if (!_asteriskList.TryGetValue(group, out var tmpList))
+ {
+ tmpList = executeDescriptor.Where(x => x.Attribute.Name.IndexOf('*') >= 0)
+ .Select(x => new RegexExecuteDescriptor
+ {
+ Name = ("^" + x.Attribute.Name + "$").Replace("*", "[0-9_a-zA-Z]+").Replace(".", "\\."),
+ Descriptor = x
+ }).ToList();
+ _asteriskList.TryAdd(group, tmpList);
+ }
+
+ foreach (var red in tmpList)
+ {
+ if (Regex.IsMatch(key, red.Name, RegexOptions.Singleline))
+ {
+ return red.Descriptor;
+ }
+ }
+
+ return null;
+ }
+
+ private ConsumerExecutorDescriptor MatchPoundUsingRegex(string key, IReadOnlyList executeDescriptor)
+ {
+ var group = executeDescriptor.First().Attribute.Group;
+ if (!_poundList.TryGetValue(group, out var tmpList))
+ {
+ tmpList = executeDescriptor
+ .Where(x => x.Attribute.Name.IndexOf('#') >= 0)
+ .Select(x => new RegexExecuteDescriptor
+ {
+ Name = ("^" + x.Attribute.Name.Replace(".", "\\.") + "$").Replace("#", "[0-9_a-zA-Z\\.]+"),
+ Descriptor = x
+ }).ToList();
+ _poundList.TryAdd(group, tmpList);
+ }
+
+ foreach (var red in tmpList)
+ {
+ if (Regex.IsMatch(key, red.Name, RegexOptions.Singleline))
+ {
+ return red.Descriptor;
+ }
+ }
+
+ return null;
+ }
+
+
+ private class RegexExecuteDescriptor
+ {
+ public string Name { get; set; }
+
+ public T Descriptor { get; set; }
+ }
+ }
+}
diff --git a/src/DotNetCore.CAP/IConsumerServiceSelector.cs b/src/DotNetCore.CAP/Internal/IConsumerServiceSelector.cs
similarity index 97%
rename from src/DotNetCore.CAP/IConsumerServiceSelector.cs
rename to src/DotNetCore.CAP/Internal/IConsumerServiceSelector.cs
index 555a9d7..baea9af 100644
--- a/src/DotNetCore.CAP/IConsumerServiceSelector.cs
+++ b/src/DotNetCore.CAP/Internal/IConsumerServiceSelector.cs
@@ -3,7 +3,7 @@
using System.Collections.Generic;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
/// Defines an interface for selecting an consumer service method to invoke for the current message.
diff --git a/src/DotNetCore.CAP/Abstractions/IMongoTransaction.cs b/src/DotNetCore.CAP/Internal/IMongoTransaction.cs
similarity index 73%
rename from src/DotNetCore.CAP/Abstractions/IMongoTransaction.cs
rename to src/DotNetCore.CAP/Internal/IMongoTransaction.cs
index b98caf8..abb0388 100644
--- a/src/DotNetCore.CAP/Abstractions/IMongoTransaction.cs
+++ b/src/DotNetCore.CAP/Internal/IMongoTransaction.cs
@@ -4,7 +4,7 @@
using System;
using System.Threading.Tasks;
-namespace DotNetCore.CAP.Abstractions
+namespace DotNetCore.CAP.Internal
{
public interface IMongoTransaction : IDisposable
{
@@ -14,8 +14,8 @@ namespace DotNetCore.CAP.Abstractions
///
bool AutoCommit { get; set; }
- Task BegeinAsync(bool autoCommit = true);
+ Task BeginAsync(bool autoCommit = true);
- IMongoTransaction Begein(bool autoCommit = true);
+ IMongoTransaction Begin(bool autoCommit = true);
}
}
\ No newline at end of file
diff --git a/src/DotNetCore.CAP/IProcessingServer.cs b/src/DotNetCore.CAP/Internal/IProcessingServer.cs
similarity index 91%
rename from src/DotNetCore.CAP/IProcessingServer.cs
rename to src/DotNetCore.CAP/Internal/IProcessingServer.cs
index b7baa9a..8467bab 100644
--- a/src/DotNetCore.CAP/IProcessingServer.cs
+++ b/src/DotNetCore.CAP/Internal/IProcessingServer.cs
@@ -3,7 +3,7 @@
using System;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
///
diff --git a/src/DotNetCore.CAP/ISubscribeExecutor.Default.cs b/src/DotNetCore.CAP/Internal/ISubscriberExecutor.Default.cs
similarity index 99%
rename from src/DotNetCore.CAP/ISubscribeExecutor.Default.cs
rename to src/DotNetCore.CAP/Internal/ISubscriberExecutor.Default.cs
index 8d2dacd..d3e91b5 100644
--- a/src/DotNetCore.CAP/ISubscribeExecutor.Default.cs
+++ b/src/DotNetCore.CAP/Internal/ISubscriberExecutor.Default.cs
@@ -7,15 +7,14 @@ using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Diagnostics;
-using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Messages;
using DotNetCore.CAP.Persistence;
using DotNetCore.CAP.Processor;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.DependencyInjection;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
internal class DefaultSubscriberExecutor : ISubscriberExecutor
{
diff --git a/src/DotNetCore.CAP/ISubscriberExecutor.cs b/src/DotNetCore.CAP/Internal/ISubscriberExecutor.cs
similarity index 94%
rename from src/DotNetCore.CAP/ISubscriberExecutor.cs
rename to src/DotNetCore.CAP/Internal/ISubscriberExecutor.cs
index b60d5f0..b1ba89b 100644
--- a/src/DotNetCore.CAP/ISubscriberExecutor.cs
+++ b/src/DotNetCore.CAP/Internal/ISubscriberExecutor.cs
@@ -5,7 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Persistence;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
///
/// Consumer executor
diff --git a/src/DotNetCore.CAP/Internal/LoggerExtensions.cs b/src/DotNetCore.CAP/Internal/LoggerExtensions.cs
index f44cb17..025c207 100644
--- a/src/DotNetCore.CAP/Internal/LoggerExtensions.cs
+++ b/src/DotNetCore.CAP/Internal/LoggerExtensions.cs
@@ -5,7 +5,7 @@ using System;
using System.Diagnostics.CodeAnalysis;
using Microsoft.Extensions.Logging;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Internal
{
[SuppressMessage("ReSharper", "InconsistentNaming")]
internal static class LoggerExtensions
diff --git a/src/DotNetCore.CAP/Abstractions/TopicAttribute.cs b/src/DotNetCore.CAP/Internal/TopicAttribute.cs
similarity index 95%
rename from src/DotNetCore.CAP/Abstractions/TopicAttribute.cs
rename to src/DotNetCore.CAP/Internal/TopicAttribute.cs
index 6b83de4..559cd5f 100644
--- a/src/DotNetCore.CAP/Abstractions/TopicAttribute.cs
+++ b/src/DotNetCore.CAP/Internal/TopicAttribute.cs
@@ -3,7 +3,7 @@
using System;
-namespace DotNetCore.CAP.Abstractions
+namespace DotNetCore.CAP.Internal
{
///
///
diff --git a/src/DotNetCore.CAP/Monitoring/MessageQueryDto.cs b/src/DotNetCore.CAP/Monitoring/MessageQueryDto.cs
index 39b4a56..5f4e78e 100644
--- a/src/DotNetCore.CAP/Monitoring/MessageQueryDto.cs
+++ b/src/DotNetCore.CAP/Monitoring/MessageQueryDto.cs
@@ -10,6 +10,7 @@ namespace DotNetCore.CAP.Monitoring
public MessageType MessageType { get; set; }
public string Group { get; set; }
+
public string Name { get; set; }
public string Content { get; set; }
diff --git a/src/DotNetCore.CAP/Processor/IDispatcher.Default.cs b/src/DotNetCore.CAP/Processor/IDispatcher.Default.cs
index 7f1fb8c..d12f10f 100644
--- a/src/DotNetCore.CAP/Processor/IDispatcher.Default.cs
+++ b/src/DotNetCore.CAP/Processor/IDispatcher.Default.cs
@@ -7,6 +7,7 @@ using System.Threading;
using System.Threading.Tasks;
using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Persistence;
+using DotNetCore.CAP.Transport;
using Microsoft.Extensions.Logging;
namespace DotNetCore.CAP.Processor
diff --git a/src/DotNetCore.CAP/Processor/IProcessingServer.Cap.cs b/src/DotNetCore.CAP/Processor/IProcessingServer.Cap.cs
index e00128b..d864c7d 100644
--- a/src/DotNetCore.CAP/Processor/IProcessingServer.Cap.cs
+++ b/src/DotNetCore.CAP/Processor/IProcessingServer.Cap.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using DotNetCore.CAP.Internal;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
diff --git a/src/DotNetCore.CAP/Processor/IProcessor.TransportCheck.cs b/src/DotNetCore.CAP/Processor/IProcessor.TransportCheck.cs
index d0f4829..3a1c26a 100644
--- a/src/DotNetCore.CAP/Processor/IProcessor.TransportCheck.cs
+++ b/src/DotNetCore.CAP/Processor/IProcessor.TransportCheck.cs
@@ -3,6 +3,7 @@
using System;
using System.Threading.Tasks;
+using DotNetCore.CAP.Internal;
namespace DotNetCore.CAP.Processor
{
diff --git a/src/DotNetCore.CAP/IConsumerClient.cs b/src/DotNetCore.CAP/Transport/IConsumerClient.cs
similarity index 97%
rename from src/DotNetCore.CAP/IConsumerClient.cs
rename to src/DotNetCore.CAP/Transport/IConsumerClient.cs
index b918fc8..e74b247 100644
--- a/src/DotNetCore.CAP/IConsumerClient.cs
+++ b/src/DotNetCore.CAP/Transport/IConsumerClient.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Threading;
using DotNetCore.CAP.Messages;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Transport
{
///
///
diff --git a/src/DotNetCore.CAP/IConsumerClientFactory.cs b/src/DotNetCore.CAP/Transport/IConsumerClientFactory.cs
similarity index 93%
rename from src/DotNetCore.CAP/IConsumerClientFactory.cs
rename to src/DotNetCore.CAP/Transport/IConsumerClientFactory.cs
index a5ce33f..7d7cb22 100644
--- a/src/DotNetCore.CAP/IConsumerClientFactory.cs
+++ b/src/DotNetCore.CAP/Transport/IConsumerClientFactory.cs
@@ -1,7 +1,7 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Transport
{
///
/// Consumer client factory to create consumer client instance.
diff --git a/src/DotNetCore.CAP/IDispatcher.cs b/src/DotNetCore.CAP/Transport/IDispatcher.cs
similarity index 85%
rename from src/DotNetCore.CAP/IDispatcher.cs
rename to src/DotNetCore.CAP/Transport/IDispatcher.cs
index bc47c02..da660d5 100644
--- a/src/DotNetCore.CAP/IDispatcher.cs
+++ b/src/DotNetCore.CAP/Transport/IDispatcher.cs
@@ -1,9 +1,10 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
+using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Persistence;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Transport
{
public interface IDispatcher
{
diff --git a/src/DotNetCore.CAP/MqLogType.cs b/src/DotNetCore.CAP/Transport/MqLogType.cs
similarity index 94%
rename from src/DotNetCore.CAP/MqLogType.cs
rename to src/DotNetCore.CAP/Transport/MqLogType.cs
index 94c21c0..3412b3a 100644
--- a/src/DotNetCore.CAP/MqLogType.cs
+++ b/src/DotNetCore.CAP/Transport/MqLogType.cs
@@ -3,7 +3,7 @@
using System;
-namespace DotNetCore.CAP
+namespace DotNetCore.CAP.Transport
{
public enum MqLogType
{
diff --git a/test/DotNetCore.CAP.Test/ModelBinderFactoryTest.cs b/test/DotNetCore.CAP.Test/ModelBinderFactoryTest.cs
deleted file mode 100644
index 3006afa..0000000
--- a/test/DotNetCore.CAP.Test/ModelBinderFactoryTest.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System.Linq;
-using System.Reflection;
-using DotNetCore.CAP.Abstractions;
-using DotNetCore.CAP.Internal;
-using Moq;
-using Xunit;
-
-namespace DotNetCore.CAP.Test
-{
- public class ModelBinderFactoryTest
- {
- private IModelBinderFactory _factory;
-
- public ModelBinderFactoryTest()
- {
- var serializer = Mock.Of();
- _factory = new ModelBinderFactory(serializer);
- }
-
- [Theory]
- [InlineData(nameof(Sample.DateTimeParam))]
- [InlineData(nameof(Sample.StringParam))]
- [InlineData(nameof(Sample.IntegerParam))]
- [InlineData(nameof(Sample.GuidParam))]
- [InlineData(nameof(Sample.UriParam))]
- public void CreateSimpleTypeBinderTest(string methodName)
- {
- var methodInfo = typeof(Sample).GetRuntimeMethods().Single(x => x.Name == methodName);
- var binder = _factory.CreateBinder(methodInfo.GetParameters()[0]);
- Assert.NotNull(binder);
- Assert.True(binder is SimpleTypeModelBinder);
- Assert.False(binder is ComplexTypeModelBinder);
- }
-
- [Theory]
- [InlineData(nameof(Sample.ComplexTypeParam))]
- public void CreateComplexTypeBinderTest(string methodName)
- {
- var methodInfo = typeof(Sample).GetRuntimeMethods().Single(x => x.Name == methodName);
- var binder = _factory.CreateBinder(methodInfo.GetParameters()[0]);
- Assert.NotNull(binder);
- Assert.False(binder is SimpleTypeModelBinder);
- Assert.True(binder is ComplexTypeModelBinder);
- }
- }
-}
\ No newline at end of file
diff --git a/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs b/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs
index 46553cf..5345168 100644
--- a/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs
+++ b/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs
@@ -1,6 +1,6 @@
using System.Linq;
using System.Threading.Tasks;
-using DotNetCore.CAP.Infrastructure;
+using DotNetCore.CAP.Internal;
using Xunit;
namespace DotNetCore.CAP.Test