コード例 #1
0
        public void Should_work_for_primitive_types_shorty()
        {
            int message = 27;

            var result = MockRepository.GenerateMock <Channel <int> >();

            result.Expect(x => x.Send(message)).Repeat.Twice();

            var provider = MockRepository.GenerateMock <ChannelProvider <int> >();

            provider.Expect(x => x.GetChannel(message)).Return(result).Repeat.Once();

            KeyAccessor <int, int> messageKeyAccessor = x => x;

            var channel = new InstanceChannel <int>(new SynchronousFiber(),
                                                    new KeyedChannelProvider <int, int>(provider, messageKeyAccessor));


            channel.Send(message);
            channel.Send(message);

            provider.VerifyAllExpectations();
            result.VerifyAllExpectations();
        }
コード例 #2
0
 protected void PopulateDefaultEventFields(IEvent baseEvent)
 {
     baseEvent.ActorId      = KeyAccessor.GetId(Actor);
     baseEvent.ActorType    = Actor.GetType().FullName;
     baseEvent.UtcTimeStamp = DateTime.UtcNow;
 }
コード例 #3
0
        public DistinctChannelConfiguratorImpl(KeyAccessor <TChannel, TKey> keyAccessor)
        {
            _keyAccessor = keyAccessor;

            HandleOnFiber();
        }
コード例 #4
0
 public RequestConsumeFilter(KeyAccessor <ConsumeContext <T>, TKey> keyAccessor)
 {
     _keyAccessor = keyAccessor;
     _pipes       = new ConcurrentDictionary <TKey, RequestPipeFilter <T, TKey> >();
 }
コード例 #5
0
 public bool Persist <T>(T instance) where T : class
 {
     return(Client.Set(KeyAccessor.GetId(instance), instance));
 }
コード例 #6
0
 public bool Persist <T>(T instance) where T : class
 {
     return(Repository.Save(KeyAccessor.GetId(instance), instance));
 }
コード例 #7
0
ファイル: MemoryCache.cs プロジェクト: yonglehou/Symbiote
 public void Store(IMemento <T> actor)
 {
     store[KeyAccessor.GetId(actor.Retrieve())] = actor;
 }
コード例 #8
0
 protected void Id(KeyAccessor <T, TKey> keyAccessor)
 {
     _identityAccessor = keyAccessor;
 }
コード例 #9
0
 /// <summary>
 /// Constructs a channel
 /// </summary>
 /// <param name="fiber">The queue where consumer actions should be enqueued</param>
 /// <param name="keyAccessor">Returns the key for the message</param>
 /// <param name="output">The method to call when a message is sent to the channel</param>
 public DistinctChannel(Fiber fiber, KeyAccessor <T, TKey> keyAccessor, Channel <IDictionary <TKey, T> > output)
 {
     _fiber       = fiber;
     _keyAccessor = keyAccessor;
     Output       = output;
 }
コード例 #10
0
 public DistinctConfiguratorImpl(KeyAccessor <TChannel, TKey> keyAccessor)
 {
     _keyAccessor   = keyAccessor;
     _configurators = new List <ChannelBuilderConfigurator <IDictionary <TKey, TChannel> > >();
 }
コード例 #11
0
 public MessageDictionaryImpl(KeyAccessor <TValue, TKey> keyAccessor)
 {
     _keyAccessor = keyAccessor;
 }
コード例 #12
0
ファイル: ActorCache.cs プロジェクト: jgsteeler/Magnum
        public ActorCache(KeyAccessor <TActor, TKey> actorKeySelector, ActorProvider <TActor, TKey> actorProvider)
        {
            _keyAccessor = actorKeySelector;

            _cache = new Cache <TKey, TActor>(x => actorProvider(x));
        }
コード例 #13
0
ファイル: DynamicFilter.cs プロジェクト: qifei2012/GreenPipes
 public KeyOutputFilter(FilterObservable observers, IPipeContextConverter <TInput, TOutput> contextConverter, KeyAccessor <TInput, TKey> keyAccessor)
     : base(observers, contextConverter)
 {
     _keyAccessor = keyAccessor;
 }
コード例 #14
0
 public DistinctChannelBuilder(ChannelBuilder <ICollection <TChannel> > builder, KeyAccessor <TChannel, TKey> keyAccessor)
 {
     _builder     = builder;
     _keyAccessor = keyAccessor;
 }
コード例 #15
0
ファイル: DynamicFilter.cs プロジェクト: slamj1/GreenPipes
 public KeyOutputFilter(FilterObservable observers, IPipeContextConverter <TInput, TOutput> contextConverter, KeyAccessor <TInput, TKey> keyAccessor)
     : base(observers, contextConverter)
 {
     Filter = new OutputPipeFilter <TInput, TOutput, TKey>(ContextConverter, Observers, keyAccessor);
 }
コード例 #16
0
            public KeyOutputPipe(FilterObservable observers, IPipeContextConverter<TInput, TOutput> contextConverter, KeyAccessor<TInput, TKey> keyAccessor)
                : base(observers, contextConverter)
            {
                _keyAccessor = keyAccessor;

                _filter = new Lazy<IOutputPipeFilter<TInput, TOutput, TKey>>(CreateKeyFilter);
            }
コード例 #17
0
ファイル: Key.cs プロジェクト: yonglehou/Stact
 public Key(KeyAccessor <T, M> accessor)
 {
     Accessor = accessor;
 }
コード例 #18
0
        public DistributedInstanceChannelConfiguratorImpl(KeyAccessor <TChannel, TKey> keyAccessor)
        {
            _keyAccessor = keyAccessor;

            HandleOnInstanceFiber();
        }
コード例 #19
0
 public bool Delete <T>(T instance) where T : class
 {
     return(Client.Remove(KeyAccessor.GetId(instance)));
 }
コード例 #20
0
 public KeyFilter(KeyAccessor <TContext, TKey> keyAccessor)
 {
     _keyAccessor = keyAccessor;
     _pipes       = new ConcurrentDictionary <TKey, IPipe <TContext> >();
 }
コード例 #21
0
 public bool Delete <T>(T instance) where T : class
 {
     return(Repository.DeleteDocument <T>(KeyAccessor.GetId(instance)));
 }