using SystemDot.Messaging.Addressing;
using SystemDot.Messaging.Packaging;
using SystemDot.Messaging.Storage;
using SystemDot.Parallelism;

namespace SystemDot.Messaging.LoadBalancing
{
    class LoadBalancer : MessageProcessor
    {
        readonly SendMessageCache cache;
        readonly ConcurrentQueue<MessagePayload> unsentMessages;
        readonly ConcurrentDictionary<Guid, MessagePayload> sentMessages;
        readonly ITaskScheduler taskScheduler;
