Exemplo n.º 1
0
        void IDataRequestable.RequestData(int[] origin, int[] stride, int[] shape, VariableResponseHandler responseHandler)
        {
            if (this.refVariable is IDataRequestable)
            {
                VariableResponseHandler myResponseHandler = new VariableResponseHandler(
                    delegate(VariableResponse resp)
                {
                    VariableResponse response = new VariableResponse(this, origin, stride, resp.Data, Version);
                    responseHandler(response);
                });

                ((IDataRequestable)refVariable).RequestData(origin, stride, shape, myResponseHandler);
                return;
            }

            ThreadPool.QueueUserWorkItem(new WaitCallback((state) =>
            {
                try
                {
                    Array a = GetData(origin, stride, shape);
                    responseHandler(new VariableResponse(this, origin, stride, a, Version));
                }
                catch (Exception ex)
                {
                    responseHandler(new VariableResponse(this, origin, stride, ex));
                }
            }));
        }
Exemplo n.º 2
0
 void IDataRequestable.RequestData(int[] origin, int[] shape, VariableResponseHandler responseHandler)
 {
     ((IDataRequestable)this).RequestData(origin, null, shape, responseHandler);
 }