eio_custom

Execute custom request like any other eio_* call

&reftitle.description; `resource` `eio_custom` `callable` `execute` `int` `pri` `callable` `callback` `mixed` `data` NULL

`eio_custom` executes custom function specified by `execute` processing it just like any other eio_* call.

&reftitle.parameters;

`execute`

- Specifies the request function that should match the following prototype:

            mixed execute(mixed data);

  `callback` is event completion callback that should match the following prototype:

            void callback(mixed data, mixed result);

  `data` is the data passed to `execute` via `data` argument without modifications `result` value returned by `execute`

`pri`

- &eio.request.pri.values;

`callback`

- &eio.callback.proto;

`data`

- Arbitrary variable passed to `callback`.

&reftitle.returnvalues;

`eio_custom` returns request resource on success,&return.falseforfailure;.

&reftitle.examples;

### `eio_custom` example

    <?php
    /* Callback for the custom callback */
    function my_custom_callback($data, $result) {
        var_dump($data);
        var_dump(count($result));
        var_dump($result['data_modified']);
        var_dump($result['result']);
    }

    /* The custom request */
    function my_custom($data) {
        var_dump($data);

        $result  = array(
            'result'        => 1001,
            'data_modified' => "my custom data",
        );

        return $result;
    }

    $data = "my_custom_data";
    $req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
    var_dump($req);
    eio_event_loop();
    ?>

&example.outputs.similar;

    resource(4) of type (EIO Request Descriptor)
    string(14) "my_custom_data"
    string(14) "my_custom_data"
    int(2)
    string(14) "my custom data"
    int(1001)