System.Collections.Concurrent.BlockingCollection.Add(NDomain.Bus.Transport.LocalMessage)

Here are the examples of the csharp api class System.Collections.Concurrent.BlockingCollection.Add(NDomain.Bus.Transport.LocalMessage) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

3 Examples 7

1. Example

Project: NDomain
Source File: LocalTransport.cs
public Task Send(TransportMessage message)
        {
            var endpoint = message.Headers[MessageHeaders.Endpoint];
            var endpointQueue = this.bus.GetEndpointQueue(endpoint);

            endpointQueue.Add(new LocalMessage(message));
            return Task.FromResult(true);
        }

2. Example

Project: NDomain
Source File: LocalTransport.cs
public Task SendMultiple(IEnumerable<TransportMessage> messages)
        {
            foreach (var message in messages)
            {
                var endpoint = message.Headers[MessageHeaders.Endpoint];
                var endpointQueue = this.bus.GetEndpointQueue(endpoint);

                endpointQueue.Add(new LocalMessage(message));
            }
            return Task.FromResult(true);
        }

3. Example

Project: NDomain
Source File: LocalTransport.cs
public Task<IMessageTransaction> Receive(TimeSpan? timeout = null)
        {
            return Task.Factory.StartNew(() =>
            {
                LocalMessage message;
                if (!this.queue.TryTake(out message, timeout ?? TimeSpan.FromSeconds(60)))
                {
                    return null;
                }

                IMessageTransaction transaction = new LocalMessageTransaction(
                                                        message,
                                                        () => { }, // nothing to do on commit
                                                        () =>
                                                        {
                                                            message.Failed(); // notify failure, increases retry count
                                                            this.queue.Add(message); // add to the queue again
                                                        });
                return transaction;
            });
        }