示例#1
0
 public MailboxManager(Action <string, T> actor)
 {
     Actor     = actor;
     Root      = new MailboxNode <T>(() => RemoveMailboxFromDictionary(""));
     Mailboxes = new ExclusiveConcurrentDictionary <string, MailboxNode <T> >();
     Mailboxes.ReadOrWrite("", () => Root);
     Tasks = new List <Task>();
     Tasks.Add(SpawnTask());
     Running = true;
 }
示例#2
0
 public void Initialize()
 {
     lock ( Lock )
     {
         if (Initialized != true)
         {
             Initialized = true;
             Provider    = Assimilate.GetInstanceOf <ILogProvider>();
             Loggers     = new ExclusiveConcurrentDictionary <Type, ILogger>();
         }
     }
 }
示例#3
0
 public DefaultAgent(
     IActorCache <TActor> cache,
     IActorStore <TActor> store,
     IActorFactory <TActor> factory,
     IMemoizer memoizer)
 {
     Memoizer = memoizer;
     Cache    = cache;
     Store    = store;
     Factory  = factory;
     Actors   = new ExclusiveConcurrentDictionary <string, TActor>();
 }
示例#4
0
 public LogManager()
 {
     Lock    = new object();
     Loggers = new ExclusiveConcurrentDictionary <Type, ILogger>();
     try
     {
         Provider = Assimilate.GetInstanceOf <ILogProvider>();
     }
     catch (Exception e)
     {
         Provider = new NullLogProvider();
     }
 }
示例#5
0
        public MetadataValueProviderCache(DocumentMetadataProvider metadataProvider, IKeyAccessor keyAccess)
        {
            MetadataProvider = metadataProvider;
            KeyAccess        = keyAccess;
            ValueProviders   = new ExclusiveConcurrentDictionary <string, MetadataValueProvider>();
            Readers          = new Dictionary <string, Func <DocumentMetadata, object> >()
            {
                { "_id", x => x._id },
                { "_rev", x => x._rev },
                { "_attachments", x => x._attachments },
            };

            Writers = new Dictionary <string, Action <DocumentMetadata, object> >()
            {
                { "_id", (x, v) => x._id = v.ToString() },
                { "_rev", (x, v) => x._rev = v.ToString() },
                { "_attachments", (x, v) => x._attachments = (JObject)v },
            };
        }
        public MetadataValueProviderCache( DocumentMetadataProvider metadataProvider, IKeyAccessor keyAccess )
        {
            MetadataProvider = metadataProvider;
            KeyAccess = keyAccess;
            ValueProviders = new ExclusiveConcurrentDictionary<string, MetadataValueProvider>();
            Readers = new Dictionary<string, Func<DocumentMetadata, object>>()
                          {
                              {"_id", x => x._id },
                              {"_rev", x => x._rev },
                              {"_attachments", x => x._attachments },
                          };

            Writers = new Dictionary<string, Action<DocumentMetadata, object>>()
                          {
                              {"_id", ( x, v ) => x._id = v.ToString() },
                              {"_rev", ( x, v ) => x._rev = v.ToString() },
                              {"_attachments", ( x, v ) => x._attachments = (JObject) v },
                          };
        }
示例#7
0
 public Agency(IAgentFactory agentFactory)
 {
     AgentFactory = agentFactory;
     Agents       = new ExclusiveConcurrentDictionary <Type, IAgent>();
 }
示例#8
0
 public FactoryProvider()
 {
     Providers = new ExclusiveConcurrentDictionary <Tuple <Type, Type, string>, IProvideInstance>();
 }