Exemple #1
0
        /// <summary>
        /// Retrieves the first tuple from the space, matching the specified pattern.The operation is non-blocking.The operation will return null if no elements match.
        /// </summary>
        public ITuple QueryP(params object[] pattern)
        {
            QueryPRequest  request  = new QueryPRequest(this.GetSource(), this.GetSessionId(), this.connectionString.Target, pattern);
            QueryPResponse response = this.GetMode()?.PerformRequest <QueryPResponse>(request);

            return(response.Result == null ? null : this.tupleFactory.Create(response.Result));
        }
Exemple #2
0
        private IMessage PerformQueryP(IMessage request)
        {
            ISpace ts = this.repository.GetSpace(request.Target);

            if (ts != null)
            {
                QueryPRequest getReq = (QueryPRequest)request;
                ITuple        tuple  = ts.QueryP(new Pattern(getReq.Template));
                return(new QueryPResponse(request.Source, request.Session, request.Target, tuple?.Fields ?? null, StatusCode.OK, StatusMessage.OK));
            }
            return(new QueryPResponse(request.Source, request.Session, request.Target, null, StatusCode.NOT_FOUND, StatusMessage.NOT_FOUND));
        }