public AsyncExecute(AsyncCluster cluster, WritePolicy writePolicy, ExecuteListener listener, Key key, string packageName, string functionName, Value[] args) : base(cluster, writePolicy, null, key, null) { this.writePolicy = writePolicy; this.executeListener = listener; this.packageName = packageName; this.functionName = functionName; this.args = args; }
public AsyncExecute(AsyncExecute other) : base(other) { this.writePolicy = other.writePolicy; this.executeListener = other.executeListener; this.packageName = other.packageName; this.functionName = other.functionName; this.args = other.args; }
public RequestStateInfo() { recvBuffer = new byte[BUFFER_SIZE]; url = null; request = null; listener = null; responseBuffer = new ByteBuffer(); errorMessage = null; response = null; responseStream = null; }
/// <summary> /// Asynchronously execute user defined function on server and return result. /// The function operates on a single record. /// The package name is used to locate the udf file location on the server: /// <para> /// udf file = <server udf dir>/<package name>.lua /// </para> /// <para> /// This method schedules the execute command with a channel selector and returns. /// Another thread will process the command and send the results to the listener. /// </para> /// </summary> /// <param name="policy">write configuration parameters, pass in null for defaults</param> /// <param name="listener">where to send results</param> /// <param name="key">unique record identifier</param> /// <param name="packageName">server package name where user defined function resides</param> /// <param name="functionName">user defined function</param> /// <param name="functionArgs">arguments passed in to user defined function</param> /// <exception cref="AerospikeException">if transaction fails</exception> public void Execute(WritePolicy policy, ExecuteListener listener, Key key, string packageName, string functionName, params Value[] functionArgs) { if (policy == null) { policy = writePolicyDefault; } AsyncExecute command = new AsyncExecute(cluster, policy, listener, key, packageName, functionName, functionArgs); command.Execute(); }
public IAsyncResult Execute(string url, ExecuteListener listener) { WebRequest request = null; try { // Create a new webrequest to the mentioned URL. request = WebRequest.Create(url); } catch (Exception e) { log.Error(string.Format("Create WebRequest for url [{0}] failed", url), e); listener.ExecuteCompleted(null, e); return null; } //Callback parameter RequestStateInfo requestStateInfo = new RequestStateInfo(); requestStateInfo.url = url; requestStateInfo.request = request; requestStateInfo.listener = listener; IAsyncResult asyncResult = null; try { // Start the Asynchronous call for response. asyncResult = (IAsyncResult)request.BeginGetResponse(new AsyncCallback(RespCallback), requestStateInfo); } catch (Exception e) { requestStateInfo.errorMessage = string.Format("Execute for BeginGetResponse [{0}] failed", url); ExecuteDone(requestStateInfo, e); } return asyncResult; }