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; }
/// <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(); }