Provided by: libdr-tarantool-perl_0.42-1ubuntu1_amd64 bug

NAME

       DR::Tarantool::LLClient - a low level async client for Tarantool <http://tarantool.org>

SYNOPSIS

           DR::Tarantool::LLClient->connect(
               host => '127.0.0.1',
               port => '33033',
               cb   => {
                   my ($tnt) = @_;
                   ...
               }
           );

           $tnt->ping( sub { .. } );
           $tnt->insert(0, [ 1, 2, 3 ], sub { ... });
           $tnt->select(1, 0, [ [ 1, 2 ], [ 3, 4 ] ], sub { ... });
           $tnt->update(0, [ 1 ], [ [ 1 => add pack 'L<', 1 ] ], sub { ... });
           $tnt->call_lua( 'box.select', [ 0, 1, 2 ], sub { ... });

DESCRIPTION

       This module provides a low-level interface to Tarantool <http://tarantool.org>.

METHODS

       All methods receive callback as the last argument. The callback receives HASHREF value
       with the following fields:

       status
           Done status:

           fatal
               A fatal error occurred. The server closed the connection or returned a broken
               package.

           buffer
               An internal driver error.

           error
               The request wasn't executed: the server returned an error.

           ok  Request was executed OK.

       errstr
           If an error occurred, contains error description.

       code
           Contains reply code.

       req_id
           Contains request id.  (see protocol documentation
           <https://github.com/mailru/tarantool/blob/master/doc/box-protocol.txt>)

       type
           Contains request type (see protocol documentation
           <https://github.com/mailru/tarantool/blob/master/doc/box-protocol.txt>)

       count
           Contains the count of returned tuples.

       tuples
           Returned tuples (ARRAYREF of ARRAYREF).

       If you use NUM or NUM64 field types, values for these fields need to be packed before they
       are sent to the server, and unpacked when received in a response.  This is a low-level
       driver :)

   connect
       Creates a connection to Tarantool

           DR::Tarantool::LLClient->connect(
               host => '127.0.0.1',
               port => '33033',
               cb   => {
                   my ($tnt) = @_;
                   ...
               }
           );

       Arguments

       host & port
           Host and port to connect to.

       reconnect_period
           An interval to wait before trying to reconnect after a fatal error or unsuccessful
           connect. If the field is defined and is greater than 0, the driver tries to reconnect
           to the server after this interval.

           Important: the driver does not reconnect after the first unsuccessful connection. It
           calls callback instead.

       reconnect_always
           Try to reconnect even after the first unsuccessful connection.

       cb  Done callback. The callback receives a connection handle connected to the server or an
           error string.

   is_connected
       True if this connection is established.

   connection_status
       Contains a string with the status of connection. Return value can be:

       ok  Connection is established.

       not_connected
           Connection isn't established yet, or was lost.

       connecting
           The driver is connecting to the server.

       fatal
           An attempt to connect was made, but ended up with an error.  If the event loop is
           running, and reconnect_period option is set, the driver continues to try to reconnect
           and update its status.

   ping
       Ping the server.

           $tnt->ping( sub { .. } );

       Arguments

       a callback

   insert
       Insert a tuple.

           $tnt->insert(0, [ 1, 2, 3 ], sub { ... });
           $tnt->insert(0, [ 4, 5, 6 ], $flags, sub { .. });

       Arguments

       space
       tuple
       flags (optional)
       callback

   select
       Select a tuple or tuples.

           $tnt->select(1, 0, [ [ 1, 2 ], [ 3, 4 ] ], sub { ... });
           $tnt->select(1, 0, [ [ 1, 2 ], [ 3, 4 ] ], 1, sub { ... });
           $tnt->select(1, 0, [ [ 1, 2 ], [ 3, 4 ] ], 1, 2, sub { ... });

       Arguments

       space
       index
       tuple_keys
       limit (optional)
           If the limit isn't set or is zero, select extracts all records without a limit.

       offset (optional)
           Default value is 0.

       callback for results

   update
       Update a tuple.

           $tnt->update(0, [ 1 ], [ [ 1 => add 1 ] ], sub { ... });
           $tnt->update(
               0,                                      # space
               [ 1 ],                                  # key
               [ [ 1 => add 1 ], [ 2 => add => 1 ],    # operations
               $flags,                                 # flags
               sub { ... }                             # callback
           );
           $tnt->update(0, [ 1 ], [ [ 1 => add 1 ] ], $flags, sub { ... });

       Arguments

       space
       tuple_key
       operations list
       flags (optional)
       callback for results

   delete
       Delete a tuple.

           $tnt->delete( 0, [ 1 ], sub { ... });
           $tnt->delete( 0, [ 1 ], $flags, sub { ... });

       Arguments

       space
       tuple_key
       flags (optional)
       callback for results

   call_lua
       Calls a lua procedure.

           $tnt->call_lua( 'box.select', [ 0, 1, 2 ], sub { ... });
           $tnt->call_lua( 'box.select', [ 0, 1, 2 ], $flags, sub { ... });

       Arguments

       name of the procedure
       tuple_key
       flags (optional)
       callback to call when the request is ready

   last_code
       Return code of the last request or undef if there was no request.

   last_error_string
       An error string if the last request ended up with an error, or undef otherwise.

Logging

       The module can log requests/responses. Logging can be turned ON by setting these
       environment variables:

       TNT_LOG_DIR
           Instructs LLClient to record all requests/responses into this directory.

       TNT_LOG_ERRDIR
           Instructs LLClient to record all requests/responses which ended up with an error into
           this directory.

COPYRIGHT AND LICENSE

        Copyright (C) 2011 Dmitry E. Oboukhov <unera@debian.org>
        Copyright (C) 2011 Roman V. Nikolaev <rshadow@rambler.ru>

        This program is free software, you can redistribute it and/or
        modify it under the terms of the Artistic License.

VCS

       The project is placed git repo on github: <https://github.com/dr-co/dr-tarantool/>.