1
0
mirror of synced 2024-07-02 16:47:39 +00:00
Tapeti/Config/IConfig.cs

47 lines
1.1 KiB
C#
Raw Normal View History

2016-12-11 14:08:58 +00:00
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Threading.Tasks;
namespace Tapeti.Config
{
public interface IConfig
{
IDependencyResolver DependencyResolver { get; }
IReadOnlyList<IMessageMiddleware> MessageMiddleware { get; }
IEnumerable<IQueue> Queues { get; }
IBinding GetBinding(Delegate method);
2016-12-11 14:08:58 +00:00
}
public interface IQueue
{
bool Dynamic { get; }
string Name { get; }
IEnumerable<IBinding> Bindings { get; }
}
public interface IBinding
{
Type Controller { get; }
MethodInfo Method { get; }
Type MessageClass { get; }
string QueueName { get; }
IReadOnlyList<IMessageMiddleware> MessageMiddleware { get; }
IReadOnlyList<IBindingFilter> BindingFilters { get; }
2016-12-11 14:08:58 +00:00
Task<bool> Accept(IMessageContext context, object message);
Task Invoke(IMessageContext context, object message);
2016-12-11 14:08:58 +00:00
}
public interface IDynamicQueueBinding : IBinding
{
void SetQueueName(string queueName);
}
2016-12-11 14:08:58 +00:00
}