Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#define TARANTOOL_TIMEOUT 5 // sec
#define TARANTOOL_DEF_PORT 33013
#define TARANTOOL_ADMIN_PORT 33015
#define TARANTOOL_DEF_HOST "localhost"
#define TARANTOOL_BUFSIZE 256
#define TARANTOOL_INSERT 13
#define TARANTOOL_SELECT 17
#define TARANTOOL_UPDATE 19
#define TARANTOOL_DELETE 20
#define TARANTOOL_PING 65280
#define TARANTOOL_REQUEST_ID 8
#define TARANTOOL_OP_ASSIGN 0
#define TARANTOOL_OP_ADD 1
#define TARANTOOL_OP_AND 2
#define TARANTOOL_OP_XOR 3
#define TARANTOOL_OP_OR 4
typedef struct {
uint32_t type;
uint32_t len;
uint32_t request_id;
} Header;
typedef struct _tarantool_object {
zend_object zo;
char * host; // tarantool host
int port; // tarantool port
int bodyLen; // body len from tuples header
int countTuples; // count tuples
int readedTuples; //
int readed; // readed byte
uint32_t errorcode; // error code
php_stream * stream;
} tarantool_object;
#define HEADER_SIZE sizeof(Header)
typedef struct {
uint32_t count;
u_char data[];
} Tuple;
// sizeof(namespaceNo) + sizeof(flag) + sizeof(tuple.count)
#define INSERT_REQUEST_SIZE 12
typedef struct {
uint32_t namespaceNo;
uint32_t flag;
Tuple tuple;
} InsertRequest;
$tuple = array(1, 'x','abd', 1023 );
$res = $tnt->insert(0,$tuple);
var_dump($res);
PHP модуль для Tarantool