Ejemplo n.º 1
0
        /// <summary>
        /// TODO: documentation
        /// </summary>
        /// <param name="shardedQuery">the ShardedQuery for which this Shard should create an actual <see cref="IQuery"/> object.</param>
        /// <returns>Query for the given ShardedQuery</returns>
        public IQuery EstablishQuery(IShardedQuery shardedQuery)
        {
            QueryId queryId = shardedQuery.QueryId;
            IQuery  query;

            queryMap.TryGetValue(queryId, out query);
            if (query == null)
            {
                query = shardedQuery.QueryFactory.CreateQuery(EstablishSession());
                queryMap.Add(queryId, query);
                LinkedList <IQueryEvent> queryEvents;
                queryEventMap.TryGetValue(queryId, out queryEvents);
                if (queryEvents != null)
                {
                    foreach (IQueryEvent queryEvent in queryEvents)
                    {
                        queryEvent.OnEvent(query);
                    }
                    queryEvents.Clear();
                }
            }
            return(query);
        }
 public QueryEntry(string key, IQuery query, Func <IList> resultFactory)
 {
     this.Key           = key;
     this.ShardedQuery  = ToShardedQuery(query);
     this.resultFactory = resultFactory;
 }
 public ExecuteUpdateShardOperation(IShardedQuery shardedQuery)
 {
     this.shardedQuery = shardedQuery;
 }
 public ListShardOperation(IShardedQuery shardedQuery)
 {
     this.shardedQuery = shardedQuery;
 }
 public UniqueResultShardOperation(IShardedQuery shardedQuery)
 {
     this.shardedQuery = shardedQuery;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// TODO: documentation
 /// </summary>
 /// <param name="shardedQuery">the ShardedQuery for which this Shard should create an actual <see cref="IQuery"/> object.</param>
 /// <returns>Query for the given ShardedQuery</returns>
 public IQuery EstablishQuery(IShardedQuery shardedQuery)
 {
     throw new System.NotImplementedException();
 }
Ejemplo n.º 7
0
 public ListShardOperation(QueryId queryId, IShardedQuery shardedQuery)
 {
     this.queryId      = queryId;
     this.shardedQuery = shardedQuery;
 }
Ejemplo n.º 8
0
 public UniqueResultShardOperation(QueryId queryId, IShardedQuery shardedQuery)
 {
     this.queryId      = queryId;
     this.shardedQuery = shardedQuery;
 }