]> granicus.if.org Git - php/commitdiff
MNDR:
authorAndrey Hristov <andrey@php.net>
Tue, 10 Nov 2015 10:02:33 +0000 (11:02 +0100)
committerAndrey Hristov <andrey@php.net>
Thu, 12 Nov 2015 15:19:16 +0000 (16:19 +0100)
- rename MYSQLND_NET to MYSQLND_PPEC (protocol packet envelope codec).
  PPEC does only the encoding and decoding to the protocol frame.

13 files changed:
ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd_auth.c
ext/mysqlnd/mysqlnd_driver.c
ext/mysqlnd/mysqlnd_ext_plugin.c
ext/mysqlnd/mysqlnd_ext_plugin.h
ext/mysqlnd/mysqlnd_loaddata.c
ext/mysqlnd/mysqlnd_priv.h
ext/mysqlnd/mysqlnd_ps.c
ext/mysqlnd/mysqlnd_structs.h
ext/mysqlnd/mysqlnd_vio.c
ext/mysqlnd/mysqlnd_vio.h
ext/mysqlnd/mysqlnd_wireprotocol.c
ext/mysqlnd/mysqlnd_wireprotocol.h

index 8d5140a2ae428848281279f9f545c68329cd9a1a..9b78c270339adec4f70a43c04ec438c4c64d25df 100644 (file)
@@ -342,7 +342,7 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn_data, dtor)(MYSQLND_CONN_DATA * conn)
        conn->m->free_options(conn);
 
        if (conn->net) {
-               mysqlnd_net_free(conn->net, conn->stats, conn->error_info);
+               mysqlnd_ppec_free(conn->net, conn->stats, conn->error_info);
                conn->net = NULL;
        }
 
@@ -664,7 +664,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, execute_init_commands)(MYSQLND_CONN_DATA * con
 static unsigned int
 MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA * conn, unsigned int mysql_flags)
 {
-       MYSQLND_NET * net = conn->net;
+       MYSQLND_PPEC * net = conn->net;
        MYSQLND_VIO * vio = conn->vio;
 
        DBG_ENTER("mysqlnd_conn_data::get_updated_connect_flags");
@@ -784,10 +784,8 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
        zend_bool reconnect = FALSE;
        zend_bool saved_compression = FALSE;
        zend_bool local_tx_started = FALSE;
-       MYSQLND_NET * net = conn->net;
+       MYSQLND_PPEC * net = conn->net;
        MYSQLND_STRING transport = { NULL, 0 };
-//     char * transport = NULL;
-//     int transport_len;
 
        DBG_ENTER("mysqlnd_conn_data::connect");
        DBG_INF_FMT("conn=%p", conn);
index 3a57f3f10ce14e00f511898eccfeff02593282fb..33d6c11a1f8dc22cf31273a8c79f8370351b7c08 100644 (file)
@@ -360,7 +360,7 @@ mysqlnd_native_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
                                                                  MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                  const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                  const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                 const MYSQLND_NET_OPTIONS * const io_options,
+                                                                 const MYSQLND_PPEC_OPTIONS * const ppec_options,
                                                                  zend_ulong mysql_flags
                                                                 )
 {
@@ -420,7 +420,7 @@ mysqlnd_pam_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self,
                                                           MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                           const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                           const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                          const MYSQLND_NET_OPTIONS * const io_options,
+                                                          const MYSQLND_PPEC_OPTIONS * const ppec_options,
                                                           zend_ulong mysql_flags
                                                          )
 {
@@ -481,7 +481,7 @@ mysqlnd_xor_string(char * dst, const size_t dst_len, const char * xor_str, const
 static RSA *
 mysqlnd_sha256_get_rsa_key(MYSQLND_CONN_DATA * conn,
                                                   const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                  const MYSQLND_NET_OPTIONS * const io_options
+                                                  const MYSQLND_PPEC_OPTIONS * const io_options
                                                  )
 {
        RSA * ret = NULL;
@@ -570,7 +570,7 @@ mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
                                                                  MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                  const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                  const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                 const MYSQLND_NET_OPTIONS * const io_options,
+                                                                 const MYSQLND_PPEC_OPTIONS * const ppec_options,
                                                                  zend_ulong mysql_flags
                                                                 )
 {
@@ -588,7 +588,7 @@ mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
                memcpy(ret, passwd, passwd_len);
        } else {
                *auth_data_len = 0;
-               server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, io_options);
+               server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, ppec_options);
 
                if (server_public_key) {
                        int server_public_key_len;
index b12c0f8ea359a864cbefb9d8ab99cddb63732b82..6bf57de63205016b6b6e63adb2fcd76828973eec 100644 (file)
@@ -140,7 +140,7 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_connection)(struct st_mysqlnd_object_
 
        mysqlnd_stats_init(&data->stats, STAT_LAST, persistent);
 
-       data->net = mysqlnd_net_init(persistent, data->stats, data->error_info);
+       data->net = mysqlnd_ppec_init(persistent, data->stats, data->error_info);
        data->vio = mysqlnd_vio_init(persistent, data->stats, data->error_info);
        data->payload_decoder_factory = mysqlnd_protocol_payload_decoder_factory_init(data, persistent);
        data->command_factory = mysqlnd_command_factory_get();
@@ -243,37 +243,37 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA
 /* }}} */
 
 
-/* {{{ mysqlnd_object_factory::get_net */
-static MYSQLND_NET *
-MYSQLND_METHOD(mysqlnd_object_factory, get_net)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
+/* {{{ mysqlnd_object_factory::get_ppec */
+static MYSQLND_PPEC *
+MYSQLND_METHOD(mysqlnd_object_factory, get_ppec)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
 {
-       size_t net_alloc_size = sizeof(MYSQLND_NET) + mysqlnd_plugin_count() * sizeof(void *);
-       size_t net_data_alloc_size = sizeof(MYSQLND_NET_DATA) + mysqlnd_plugin_count() * sizeof(void *);
-       MYSQLND_NET * net = mnd_pecalloc(1, net_alloc_size, persistent);
-       MYSQLND_NET_DATA * net_data = mnd_pecalloc(1, net_data_alloc_size, persistent);
+       size_t ppec_alloc_size = sizeof(MYSQLND_PPEC) + mysqlnd_plugin_count() * sizeof(void *);
+       size_t ppec_data_alloc_size = sizeof(MYSQLND_PPEC_DATA) + mysqlnd_plugin_count() * sizeof(void *);
+       MYSQLND_PPEC * ppec = mnd_pecalloc(1, ppec_alloc_size, persistent);
+       MYSQLND_PPEC_DATA * ppec_data = mnd_pecalloc(1, ppec_data_alloc_size, persistent);
 
-       DBG_ENTER("mysqlnd_object_factory::get_net");
+       DBG_ENTER("mysqlnd_object_factory::get_ppec");
        DBG_INF_FMT("persistent=%u", persistent);
-       if (net && net_data) {
-               net->data = net_data;
-               net->persistent = net->data->persistent = persistent;
-               net->data->m = *mysqlnd_net_get_methods();
-
-               if (PASS != net->data->m.init(net, stats, error_info)) {
-                       net->data->m.dtor(net, stats, error_info);
-                       net = NULL;
+       if (ppec && ppec_data) {
+               ppec->data = ppec_data;
+               ppec->persistent = ppec->data->persistent = persistent;
+               ppec->data->m = *mysqlnd_ppec_get_methods();
+
+               if (PASS != ppec->data->m.init(ppec, stats, error_info)) {
+                       ppec->data->m.dtor(ppec, stats, error_info);
+                       ppec = NULL;
                }
        } else {
-               if (net_data) {
-                       mnd_pefree(net_data, persistent);
-                       net_data = NULL;
+               if (ppec_data) {
+                       mnd_pefree(ppec_data, persistent);
+                       ppec_data = NULL;
                }
-               if (net) {
-                       mnd_pefree(net, persistent);
-                       net = NULL;
+               if (ppec) {
+                       mnd_pefree(ppec, persistent);
+                       ppec = NULL;
                }
        }
-       DBG_RETURN(net);
+       DBG_RETURN(ppec);
 }
 /* }}} */
 
@@ -337,7 +337,7 @@ PHPAPI MYSQLND_CLASS_METHODS_START(mysqlnd_object_factory)
        MYSQLND_METHOD(mysqlnd_object_factory, get_connection),
        MYSQLND_METHOD(mysqlnd_object_factory, clone_connection_object),
        MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement),
-       MYSQLND_METHOD(mysqlnd_object_factory, get_net),
+       MYSQLND_METHOD(mysqlnd_object_factory, get_ppec),
        MYSQLND_METHOD(mysqlnd_object_factory, get_vio),
        MYSQLND_METHOD(mysqlnd_object_factory, get_protocol_payload_decoder_factory)
 MYSQLND_CLASS_METHODS_END;
index 76d51bcc18a93c2fcebf35039a3b063c18fd4584..fe08c1d2c172af7081a6f0879729f60001eaba43 100644 (file)
@@ -140,16 +140,30 @@ mysqlnd_plugin__get_plugin_stmt_data(const MYSQLND_STMT * stmt, unsigned int plu
 /* }}} */
 
 
-/* {{{ mysqlnd_plugin__get_plugin_net_data */
+/* {{{ mysqlnd_plugin__get_plugin_ppec_data */
 static void **
-mysqlnd_plugin__get_plugin_net_data(const MYSQLND_NET * net, unsigned int plugin_id)
+mysqlnd_plugin__get_plugin_ppec_data(const MYSQLND_PPEC * ppec, unsigned int plugin_id)
 {
-       DBG_ENTER("_mysqlnd_plugin__get_plugin_net_data");
+       DBG_ENTER("mysqlnd_plugin__get_plugin_ppec_data");
        DBG_INF_FMT("plugin_id=%u", plugin_id);
-       if (!net || plugin_id >= mysqlnd_plugin_count()) {
+       if (!ppec || plugin_id >= mysqlnd_plugin_count()) {
                return NULL;
        }
-       DBG_RETURN((void *)((char *)net + sizeof(MYSQLND_NET) + plugin_id * sizeof(void *)));
+       DBG_RETURN((void *)((char *)ppec + sizeof(MYSQLND_PPEC) + plugin_id * sizeof(void *)));
+}
+/* }}} */
+
+
+/* {{{ _mysqlnd_plugin__get_plugin_vio_data */
+static void **
+mysqlnd_plugin__get_plugin_vio_data(const MYSQLND_VIO * vio, unsigned int plugin_id)
+{
+       DBG_ENTER("_mysqlnd_plugin__get_plugin_vio_data");
+       DBG_INF_FMT("plugin_id=%u", plugin_id);
+       if (!vio || plugin_id >= mysqlnd_plugin_count()) {
+               return NULL;
+       }
+       DBG_RETURN((void *)((char *)vio + sizeof(MYSQLND_VIO) + plugin_id * sizeof(void *)));
 }
 /* }}} */
 
@@ -163,7 +177,8 @@ struct st_mysqlnd_plugin__plugin_area_getters mysqlnd_plugin_area_getters =
        mysqlnd_plugin__get_plugin_result_buffered_data_c,
        mysqlnd_plugin__get_plugin_stmt_data,
        mysqlnd_plugin__get_plugin_protocol_data,
-       mysqlnd_plugin__get_plugin_net_data,
+       mysqlnd_plugin__get_plugin_ppec_data,
+       mysqlnd_plugin__get_plugin_vio_data,
 };
 
 
@@ -309,20 +324,20 @@ _mysqlnd_protocol_payload_decoder_factory_set_methods(MYSQLND_CLASS_METHODS_TYPE
 /* }}} */
 
 
-/* {{{ _mysqlnd_net_get_methods */
-static MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net) *
-_mysqlnd_net_get_methods()
+/* {{{ _mysqlnd_ppec_get_methods */
+static MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) *
+_mysqlnd_ppec_get_methods()
 {
-       return &MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_net);
+       return &MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_protocol_packet_envelope_codec);
 }
 /* }}} */
 
 
-/* {{{ _mysqlnd_net_set_methods */
+/* {{{ _mysqlnd_ppec_set_methods */
 static void
-_mysqlnd_net_set_methods(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net) * methods)
+_mysqlnd_ppec_set_methods(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) * methods)
 {
-       MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_net) = *methods;
+       MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_protocol_packet_envelope_codec) = *methods;
 }
 /* }}} */
 
@@ -416,8 +431,8 @@ struct st_mysqlnd_plugin_methods_xetters mysqlnd_plugin_methods_xetters =
                _mysqlnd_protocol_payload_decoder_factory_set_methods,
        },
        {
-               _mysqlnd_net_get_methods,
-               _mysqlnd_net_set_methods,
+               _mysqlnd_ppec_get_methods,
+               _mysqlnd_ppec_set_methods,
        },
        {
                _mysqlnd_vio_get_methods,
index 2808cb984d24f4248cf2fc73372f43bf4536ce26..780517f5b1761f64e6e2c048517924ddbbef4ca0 100644 (file)
@@ -31,7 +31,8 @@ struct st_mysqlnd_plugin__plugin_area_getters
        void ** (*get_result_buffered_aread_c)(const MYSQLND_RES_BUFFERED_C * result, unsigned int plugin_id);
        void ** (*get_stmt_area)(const MYSQLND_STMT * stmt, unsigned int plugin_id);
        void ** (*get_protocol_decoder_area)(const MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * factory, unsigned int plugin_id);
-       void ** (*get_net_area)(const MYSQLND_NET * net, unsigned int plugin_id);
+       void ** (*get_ppec_area)(const MYSQLND_PPEC * ppec, unsigned int plugin_id);
+       void ** (*get_vio_area)(const MYSQLND_VIO * vio, unsigned int plugin_id);
 };
 
 extern struct st_mysqlnd_plugin__plugin_area_getters mysqlnd_plugin_area_getters;
@@ -44,7 +45,8 @@ extern struct st_mysqlnd_plugin__plugin_area_getters mysqlnd_plugin_area_getters
 #define mysqlnd_plugin_get_plugin_result_buffered_data_c(res, p_id)            mysqlnd_plugin_area_getters.get_result_buffered_aread_c((res), (p_id))
 #define mysqlnd_plugin_get_plugin_stmt_data(stmt, p_id)                                        mysqlnd_plugin_area_getters.get_stmt_area((stmt), (p_id))
 #define mysqlnd_plugin_get_plugin_protocol_data(proto, p_id)                   mysqlnd_plugin_area_getters.get_protocol_decoder_area((proto), (p_id))
-#define mysqlnd_plugin_get_plugin_net_data(net, p_id)                                  mysqlnd_plugin_area_getters.get_net_area((net), (p_id))
+#define mysqlnd_plugin_get_plugin_ppec_data(ppec, p_id)                                        mysqlnd_plugin_area_getters.get_ppec_area((ppec), (p_id))
+#define mysqlnd_plugin_get_plugin_vio_data(vio, p_id)                                  mysqlnd_plugin_area_getters.get_ppec_area((vio), (p_id))
 
 
 struct st_mysqlnd_plugin_methods_xetters
@@ -97,11 +99,11 @@ struct st_mysqlnd_plugin_methods_xetters
                void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_payload_decoder_factory) *methods);
        } protocol;
 
-       struct st_mnd_net_xetters
+       struct st_mnd_ppec_xetters
        {
-               MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net) * (*get)();
-               void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net) * methods);
-       } net;
+               MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) * (*get)();
+               void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) * methods);
+       } ppec;
 
        struct st_mnd_vio_xetters
        {
@@ -149,8 +151,8 @@ extern struct st_mysqlnd_plugin_methods_xetters mysqlnd_plugin_methods_xetters;
 #define mysqlnd_protocol_get_methods() mysqlnd_plugin_methods_xetters.protocol.get()
 #define mysqlnd_protocol_set_methods(m)        mysqlnd_plugin_methods_xetters.protocol.set((m))
 
-#define mysqlnd_net_get_methods()              mysqlnd_plugin_methods_xetters.net.get()
-#define mysqlnd_net_set_methods(m)             mysqlnd_plugin_methods_xetters.net.set((m))
+#define mysqlnd_ppec_get_methods()             mysqlnd_plugin_methods_xetters.ppec.get()
+#define mysqlnd_ppec_set_methods(m)            mysqlnd_plugin_methods_xetters.ppec.set((m))
 
 #define mysqlnd_vio_get_methods()              mysqlnd_plugin_methods_xetters.vio.get()
 #define mysqlnd_vio_set_methods(m)             mysqlnd_plugin_methods_xetters.vio.set((m))
index 70688d32ca5c8531f043e477bb48318853d8312f..bd8434fd1e34e9b36789a577b20481417ecbfd6d 100644 (file)
@@ -151,7 +151,7 @@ mysqlnd_handle_local_infile(MYSQLND_CONN_DATA * conn, const char * const filenam
        int                                     bufsize;
        size_t                          ret;
        MYSQLND_INFILE          infile;
-       MYSQLND_NET                     * net = conn->net;
+       MYSQLND_PPEC            * net = conn->net;
        MYSQLND_VIO                     * vio = conn->vio;
 
        DBG_ENTER("mysqlnd_handle_local_infile");
index fbd433dfdac4ac2f69ee32a33b63bc60308b0e75..9ba810619e346aac8208f082863b48b0f1029eef 100644 (file)
@@ -154,7 +154,7 @@ PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_res);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_result_unbuffered);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_result_buffered);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_protocol_payload_decoder_factory);
-PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_net);
+PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_protocol_packet_envelope_codec);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_vio);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_upsert_status);
 PHPAPI extern MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(mysqlnd_error_info);
index c6534c0b00288e0a1c15df6a33d712f9e3d4d94a..8958450ab8b3916430beb15f0c817019d2ff61d5 100644 (file)
@@ -2185,15 +2185,15 @@ MYSQLND_METHOD(mysqlnd_stmt, free_stmt_content)(MYSQLND_STMT * const s)
 /* }}} */
 
 
-/* {{{ mysqlnd_stmt::net_close */
+/* {{{ mysqlnd_stmt::close_on_server */
 static enum_func_status
-MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, net_close)(MYSQLND_STMT * const s, zend_bool implicit)
+MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, close_on_server)(MYSQLND_STMT * const s, zend_bool implicit)
 {
        MYSQLND_STMT_DATA * stmt = s? s->data:NULL;
        MYSQLND_CONN_DATA * conn;
        enum_mysqlnd_collected_stats statistic = STAT_LAST;
 
-       DBG_ENTER("mysqlnd_stmt::net_close");
+       DBG_ENTER("mysqlnd_stmt::close_on_server");
        if (!stmt || !stmt->conn) {
                DBG_RETURN(FAIL);
        }
@@ -2292,7 +2292,7 @@ MYSQLND_METHOD(mysqlnd_stmt, dtor)(MYSQLND_STMT * const s, zend_bool implicit)
                MYSQLND_INC_GLOBAL_STATISTIC(implicit == TRUE?  STAT_STMT_CLOSE_IMPLICIT:
                                                                                                                STAT_STMT_CLOSE_EXPLICIT);
 
-               ret = s->m->net_close(s, implicit);
+               ret = s->m->close_on_server(s, implicit);
                mnd_pefree(stmt, persistent);
        }
        mnd_pefree(s, persistent);
@@ -2368,7 +2368,7 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_stmt)
        MYSQLND_METHOD(mysqlnd_stmt, free_result),
        MYSQLND_METHOD(mysqlnd_stmt, data_seek),
        MYSQLND_METHOD(mysqlnd_stmt, reset),
-       MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, net_close),
+       MYSQLND_METHOD_PRIVATE(mysqlnd_stmt, close_on_server),
        MYSQLND_METHOD(mysqlnd_stmt, dtor),
 
        MYSQLND_METHOD(mysqlnd_stmt, fetch),
index ef4dc0e52d870f4b69e84efa7a1335c08c657d65..e226b519bf249de6b4efd58306a443655f227de0 100644 (file)
@@ -234,12 +234,14 @@ typedef struct st_mysqlnd_session_options
 #endif
 } MYSQLND_SESSION_OPTIONS;
 
-typedef struct st_mysqlnd_net_options
+
+typedef struct st_mysqlnd_protocol_packet_envelope_codec_options
 {
        uint64_t        flags;
 
        char *          sha256_server_public_key;
-} MYSQLND_NET_OPTIONS;
+} MYSQLND_PPEC_OPTIONS;
+
 
 typedef struct st_mysqlnd_vio_options
 {
@@ -270,8 +272,8 @@ typedef struct st_mysqlnd_vio_options
 
 typedef struct st_mysqlnd_connection MYSQLND;
 typedef struct st_mysqlnd_connection_data MYSQLND_CONN_DATA;
-typedef struct st_mysqlnd_net          MYSQLND_NET;
-typedef struct st_mysqlnd_net_data     MYSQLND_NET_DATA;
+typedef struct st_mysqlnd_protocol_packet_envelope_codec               MYSQLND_PPEC;
+typedef struct st_mysqlnd_protocol_packet_envelope_codec_data  MYSQLND_PPEC_DATA;
 typedef struct st_mysqlnd_vio          MYSQLND_VIO;
 typedef struct st_mysqlnd_vio_data     MYSQLND_VIO_DATA;
 typedef struct st_mysqlnd_protocol_payload_decoder_factory     MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY;
@@ -318,49 +320,6 @@ struct st_mysqlnd_stats
 };
 
 
-typedef struct st_mysqlnd_read_buffer {
-       zend_uchar      * data;
-       size_t          offset;
-       size_t          size;
-       size_t          len;
-       zend_bool       (*is_empty)(struct st_mysqlnd_read_buffer *);
-       void            (*read)(struct st_mysqlnd_read_buffer *, size_t count, zend_uchar * dest);
-       size_t          (*bytes_left)(struct st_mysqlnd_read_buffer *);
-       void            (*free_buffer)(struct st_mysqlnd_read_buffer **);
-} MYSQLND_READ_BUFFER;
-
-
-
-typedef enum_func_status       (*func_mysqlnd_net__init)(MYSQLND_NET * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info);
-typedef void                           (*func_mysqlnd_net__dtor)(MYSQLND_NET * const net, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
-typedef enum_func_status       (*func_mysqlnd_net__connect)(MYSQLND_NET * const net, const MYSQLND_CSTRING scheme, const zend_bool persistent, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
-typedef enum_func_status       (*func_mysqlnd_net__set_client_option)(MYSQLND_NET * const net, enum_mysqlnd_client_option option, const char * const value);
-typedef enum_func_status       (*func_mysqlnd_net__decode)(zend_uchar * uncompressed_data, const size_t uncompressed_data_len, const zend_uchar * const compressed_data, const size_t compressed_data_len);
-typedef enum_func_status       (*func_mysqlnd_net__encode)(zend_uchar * compress_buffer, size_t * compress_buffer_len, const zend_uchar * const uncompressed_data, const size_t uncompressed_data_len);
-typedef size_t                         (*func_mysqlnd_net__send)(MYSQLND_NET * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
-typedef enum_func_status       (*func_mysqlnd_net__receive)(MYSQLND_NET * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
-typedef enum_func_status       (*func_mysqlnd_net__read_compressed_packet_from_stream_and_fill_read_buffer)(MYSQLND_NET * net, MYSQLND_VIO * const vio, size_t net_payload_size, MYSQLND_STATS * conn_stats, MYSQLND_ERROR_INFO * error_info);
-typedef void                           (*func_mysqlnd_net__free_contents)(MYSQLND_NET * net);
-
-MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net)
-{
-       func_mysqlnd_net__init init;
-       func_mysqlnd_net__dtor dtor;
-       func_mysqlnd_net__connect connect;
-       func_mysqlnd_net__set_client_option set_client_option;
-
-       func_mysqlnd_net__decode decode;
-       func_mysqlnd_net__encode encode;
-
-       func_mysqlnd_net__send send;
-       func_mysqlnd_net__receive receive;
-
-       func_mysqlnd_net__read_compressed_packet_from_stream_and_fill_read_buffer read_compressed_packet_from_stream_and_fill_read_buffer;
-
-       func_mysqlnd_net__free_contents free_contents;
-};
-
-
 typedef enum_func_status       (*func_mysqlnd_vio__init)(MYSQLND_VIO * const vio, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info);
 typedef void                           (*func_mysqlnd_vio__dtor)(MYSQLND_VIO * const vio, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
 
@@ -419,7 +378,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory);
 typedef MYSQLND * (*func_mysqlnd_object_factory__get_connection)(struct st_mysqlnd_object_factory_methods * factory, zend_bool persistent);
 typedef MYSQLND * (*func_mysqlnd_object_factory__clone_connection_object)(MYSQLND * conn);
 typedef MYSQLND_STMT * (*func_mysqlnd_object_factory__get_prepared_statement)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
-typedef MYSQLND_NET * (*func_mysqlnd_object_factory__get_net)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
+typedef MYSQLND_PPEC * (*func_mysqlnd_object_factory__get_net)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 typedef MYSQLND_VIO * (*func_mysqlnd_object_factory__get_vio)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 typedef MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * (*func_mysqlnd_object_factory__get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
 
@@ -774,7 +733,7 @@ typedef enum_func_status    (*func_mysqlnd_stmt__next_result)(MYSQLND_STMT * const
 typedef enum_func_status       (*func_mysqlnd_stmt__free_result)(MYSQLND_STMT * const stmt);
 typedef enum_func_status       (*func_mysqlnd_stmt__seek_data)(const MYSQLND_STMT * const stmt, uint64_t row);
 typedef enum_func_status       (*func_mysqlnd_stmt__reset)(MYSQLND_STMT * const stmt);
-typedef enum_func_status       (*func_mysqlnd_stmt__net_close)(MYSQLND_STMT * const stmt, zend_bool implicit); /* private */
+typedef enum_func_status       (*func_mysqlnd_stmt__close_on_server)(MYSQLND_STMT * const stmt, zend_bool implicit); /* private */
 typedef enum_func_status       (*func_mysqlnd_stmt__dtor)(MYSQLND_STMT * const stmt, zend_bool implicit); /* use this for mysqlnd_stmt_close */
 typedef enum_func_status       (*func_mysqlnd_stmt__fetch)(MYSQLND_STMT * const stmt, zend_bool * const fetched_anything);
 typedef enum_func_status       (*func_mysqlnd_stmt__bind_parameters)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * const param_bind);
@@ -820,7 +779,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt)
        func_mysqlnd_stmt__free_result free_result;
        func_mysqlnd_stmt__seek_data seek_data;
        func_mysqlnd_stmt__reset reset;
-       func_mysqlnd_stmt__net_close net_close;
+       func_mysqlnd_stmt__close_on_server close_on_server;
        func_mysqlnd_stmt__dtor dtor;
        func_mysqlnd_stmt__fetch fetch;
 
@@ -867,42 +826,6 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt)
 };
 
 
-struct st_mysqlnd_net_data
-{
-       php_stream                      *stream;
-       zend_bool                       compressed;
-       zend_bool                       ssl;
-       MYSQLND_NET_OPTIONS     options;
-
-       unsigned int            refcount;
-
-       zend_bool                       persistent;
-
-       MYSQLND_CLASS_METHODS_TYPE(mysqlnd_net) m;
-};
-
-
-struct st_mysqlnd_net
-{
-       /* cmd buffer */
-//     MYSQLND_CMD_BUFFER      cmd_buffer;
-
-       struct st_mysqlnd_net_data * data;
-
-#ifdef MYSQLND_COMPRESSION_ENABLED
-       MYSQLND_READ_BUFFER     * uncompressed_data;
-#else
-       void *                          unused_pad1;
-#endif
-
-       zend_bool persistent;
-
-       /* sequence for simple checking of correct packets */
-       zend_uchar                      packet_no;
-       zend_uchar                      compressed_envelope_packet_no;
-};
-
-
 struct st_mysqlnd_vio_data
 {
        php_stream                      *stream;
@@ -963,7 +886,7 @@ struct st_mysqlnd_connection_state
 struct st_mysqlnd_connection_data
 {
 /* Operation related */
-       MYSQLND_NET             * net;
+       MYSQLND_PPEC    * net;
        MYSQLND_VIO             * vio;
        MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * payload_decoder_factory;
 
@@ -1152,6 +1075,82 @@ struct st_mysqlnd_protocol_payload_decoder_factory
 };
 
 
+typedef struct st_mysqlnd_read_buffer {
+       zend_uchar      * data;
+       size_t          offset;
+       size_t          size;
+       size_t          len;
+       zend_bool       (*is_empty)(struct st_mysqlnd_read_buffer *);
+       void            (*read)(struct st_mysqlnd_read_buffer *, size_t count, zend_uchar * dest);
+       size_t          (*bytes_left)(struct st_mysqlnd_read_buffer *);
+       void            (*free_buffer)(struct st_mysqlnd_read_buffer **);
+} MYSQLND_READ_BUFFER;
+
+
+
+typedef enum_func_status       (*func_mysqlnd_ppec__init)(MYSQLND_PPEC * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info);
+typedef void                           (*func_mysqlnd_ppec__dtor)(MYSQLND_PPEC * const net, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
+typedef enum_func_status       (*func_mysqlnd_ppec__connect)(MYSQLND_PPEC * const net, const MYSQLND_CSTRING scheme, const zend_bool persistent, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
+typedef enum_func_status       (*func_mysqlnd_ppec__set_client_option)(MYSQLND_PPEC * const net, enum_mysqlnd_client_option option, const char * const value);
+typedef enum_func_status       (*func_mysqlnd_ppec__decode)(zend_uchar * uncompressed_data, const size_t uncompressed_data_len, const zend_uchar * const compressed_data, const size_t compressed_data_len);
+typedef enum_func_status       (*func_mysqlnd_ppec__encode)(zend_uchar * compress_buffer, size_t * compress_buffer_len, const zend_uchar * const uncompressed_data, const size_t uncompressed_data_len);
+typedef size_t                         (*func_mysqlnd_ppec__send)(MYSQLND_PPEC * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
+typedef enum_func_status       (*func_mysqlnd_ppec__receive)(MYSQLND_PPEC * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info);
+typedef enum_func_status       (*func_mysqlnd_ppec__read_compressed_packet_from_stream_and_fill_read_buffer)(MYSQLND_PPEC * net, MYSQLND_VIO * const vio, size_t net_payload_size, MYSQLND_STATS * conn_stats, MYSQLND_ERROR_INFO * error_info);
+typedef void                           (*func_mysqlnd_ppec__free_contents)(MYSQLND_PPEC * net);
+
+MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec)
+{
+       func_mysqlnd_ppec__init init;
+       func_mysqlnd_ppec__dtor dtor;
+       func_mysqlnd_ppec__connect connect;
+       func_mysqlnd_ppec__set_client_option set_client_option;
+
+       func_mysqlnd_ppec__decode decode;
+       func_mysqlnd_ppec__encode encode;
+
+       func_mysqlnd_ppec__send send;
+       func_mysqlnd_ppec__receive receive;
+
+       func_mysqlnd_ppec__read_compressed_packet_from_stream_and_fill_read_buffer read_compressed_packet_from_stream_and_fill_read_buffer;
+
+       func_mysqlnd_ppec__free_contents free_contents;
+};
+
+
+struct st_mysqlnd_protocol_packet_envelope_codec_data
+{
+       php_stream                              *stream;
+       zend_bool                               compressed;
+       zend_bool                               ssl;
+       MYSQLND_PPEC_OPTIONS    options;
+
+       unsigned int            refcount;
+
+       zend_bool                       persistent;
+
+       MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) m;
+};
+
+
+struct st_mysqlnd_protocol_packet_envelope_codec
+{
+       struct st_mysqlnd_protocol_packet_envelope_codec_data * data;
+
+#ifdef MYSQLND_COMPRESSION_ENABLED
+       MYSQLND_READ_BUFFER     * uncompressed_data;
+#else
+       void *                          unused_pad1;
+#endif
+
+       zend_bool persistent;
+
+       /* sequence for simple checking of correct packets */
+       zend_uchar                      packet_no;
+       zend_uchar                      compressed_envelope_packet_no;
+};
+
+
 
 struct mysqlnd_field_hash_key
 {
@@ -1373,7 +1372,7 @@ typedef zend_uchar * (*func_auth_plugin__get_auth_data)(struct st_mysqlnd_authen
                                                                                                                MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                                                                const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                                                                const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                                                               const MYSQLND_NET_OPTIONS * const net_options, zend_ulong mysql_flags
+                                                                                                               const MYSQLND_PPEC_OPTIONS * const net_options, zend_ulong mysql_flags
                                                                                                                );
 
 struct st_mysqlnd_authentication_plugin
index 0aa06e21df4d539a8f668ee262492d02ea3dca3f..aedec2946966b3b0003487f840728e6744d660c8 100644 (file)
@@ -14,7 +14,6 @@
   +----------------------------------------------------------------------+
   | Authors: Andrey Hristov <andrey@mysql.com>                           |
   |          Ulf Wendel <uwendel@mysql.com>                              |
-  |          Georg Richter <georg@mysql.com>                             |
   +----------------------------------------------------------------------+
 */
 
@@ -475,7 +474,7 @@ MYSQLND_METHOD(mysqlnd_vio, consume_uneaten_data)(MYSQLND_VIO * const net, enum
        php_stream * net_stream = net->data->get_stream(net);
        int was_blocked = net_stream->ops->set_option(net_stream, opt, 0, NULL);
 
-       DBG_ENTER("mysqlnd_net::consume_uneaten_data");
+       DBG_ENTER("mysqlnd_vio::consume_uneaten_data");
 
        if (PHP_STREAM_OPTION_RETURN_ERR != was_blocked) {
                /* Do a read of 1 byte */
@@ -630,7 +629,7 @@ MYSQLND_METHOD(mysqlnd_vio, enable_ssl)(MYSQLND_VIO * const net)
 static enum_func_status
 MYSQLND_METHOD(mysqlnd_vio, disable_ssl)(MYSQLND_VIO * const vio)
 {
-       DBG_ENTER("mysqlnd_net::disable_ssl");
+       DBG_ENTER("mysqlnd_vio::disable_ssl");
        DBG_RETURN(PASS);
 }
 /* }}} */
index 3c7e3cb6a11de2e609151210f362567be98ca4f1..bf2d9b3e426908871f313c988f2a634fe1b680aa 100644 (file)
   +----------------------------------------------------------------------+
   | Authors: Andrey Hristov <andrey@mysql.com>                           |
   |          Ulf Wendel <uwendel@mysql.com>                              |
-  |          Georg Richter <georg@mysql.com>                             |
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysqlnd_wireprotocol.h 291983 2009-12-11 11:58:57Z andrey $ */
-
-#ifndef MYSQLND_NET_H
-#define MYSQLND_NET_H
-
-PHPAPI MYSQLND_NET * mysqlnd_net_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
-PHPAPI void mysqlnd_net_free(MYSQLND_NET * const net, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
+#ifndef MYSQLND_VIO_H
+#define MYSQLND_VIO_H
 
 PHPAPI MYSQLND_VIO * mysqlnd_vio_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 PHPAPI void mysqlnd_vio_free(MYSQLND_VIO * const vio, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 
-#endif /* MYSQLND_NET_H */
+#endif /* MYSQLND_VIO_H */
 
 /*
  * Local variables:
index 7199178b2c138349c16f3ef87cd705908ab353e2..86a160bc6b016878c4a0cf93dfd8e2bca82cec0b 100644 (file)
@@ -248,7 +248,7 @@ end:
 
 /* {{{ mysqlnd_read_header */
 static enum_func_status
-mysqlnd_read_header(MYSQLND_NET * net, MYSQLND_VIO * vio, MYSQLND_PACKET_HEADER * header,
+mysqlnd_read_header(MYSQLND_PPEC * net, MYSQLND_VIO * vio, MYSQLND_PACKET_HEADER * header,
                                        MYSQLND_STATS * conn_stats, MYSQLND_ERROR_INFO * error_info)
 {
        zend_uchar buffer[MYSQLND_HEADER_SIZE];
@@ -292,7 +292,7 @@ mysqlnd_read_header(MYSQLND_NET * net, MYSQLND_VIO * vio, MYSQLND_PACKET_HEADER
 /* {{{ mysqlnd_read_packet_header_and_body */
 static enum_func_status
 mysqlnd_read_packet_header_and_body(MYSQLND_PACKET_HEADER * packet_header,
-                                                                       MYSQLND_NET * net,
+                                                                       MYSQLND_PPEC * net,
                                                                        MYSQLND_VIO * vio,
                                                                        MYSQLND_STATS * stats,
                                                                        MYSQLND_ERROR_INFO * error_info,
@@ -340,7 +340,7 @@ php_mysqlnd_greet_read(void * _packet)
        zend_uchar *pad_start = NULL;
        MYSQLND_PACKET_GREET *packet= (MYSQLND_PACKET_GREET *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -509,7 +509,7 @@ size_t php_mysqlnd_auth_write(void * _packet)
        MYSQLND_PACKET_AUTH * packet= (MYSQLND_PACKET_AUTH *) _packet;
        MYSQLND_CONN_DATA * conn = packet->header.conn;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -671,7 +671,7 @@ php_mysqlnd_auth_response_read(void * _packet)
 {
        register MYSQLND_PACKET_AUTH_RESPONSE * packet= (MYSQLND_PACKET_AUTH_RESPONSE *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -798,7 +798,7 @@ php_mysqlnd_change_auth_response_write(void * _packet)
 {
        MYSQLND_PACKET_CHANGE_AUTH_RESPONSE *packet= (MYSQLND_PACKET_CHANGE_AUTH_RESPONSE *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -846,7 +846,7 @@ php_mysqlnd_ok_read(void * _packet)
 {
        register MYSQLND_PACKET_OK *packet= (MYSQLND_PACKET_OK *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -944,7 +944,7 @@ php_mysqlnd_eof_read(void * _packet)
        */
        MYSQLND_PACKET_EOF *packet= (MYSQLND_PACKET_EOF *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -1023,7 +1023,7 @@ size_t php_mysqlnd_cmd_write(void * _packet)
        /* Let's have some space, which we can use, if not enough, we will allocate new buffer */
        MYSQLND_PACKET_COMMAND * packet= (MYSQLND_PACKET_COMMAND *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -1104,7 +1104,7 @@ php_mysqlnd_rset_header_read(void * _packet)
 {
        MYSQLND_PACKET_RSET_HEADER * packet= (MYSQLND_PACKET_RSET_HEADER *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -1250,7 +1250,7 @@ php_mysqlnd_rset_field_read(void * _packet)
        /* Should be enough for the metadata of a single row */
        MYSQLND_PACKET_RES_FIELD *packet = (MYSQLND_PACKET_RES_FIELD *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -1465,7 +1465,7 @@ void php_mysqlnd_rset_field_free_mem(void * _packet, zend_bool stack_allocation)
 
 /* {{{ php_mysqlnd_read_row_ex */
 static enum_func_status
-php_mysqlnd_read_row_ex(MYSQLND_NET * net,
+php_mysqlnd_read_row_ex(MYSQLND_PPEC * net,
                                                MYSQLND_VIO * vio,
                                                MYSQLND_STATS * stats,
                                                MYSQLND_ERROR_INFO * error_info,
@@ -1825,7 +1825,7 @@ php_mysqlnd_rowp_read(void * _packet)
 {
        MYSQLND_PACKET_ROW *packet= (MYSQLND_PACKET_ROW *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        zend_uchar *p;
@@ -1950,7 +1950,7 @@ php_mysqlnd_stats_read(void * _packet)
 {
        MYSQLND_PACKET_STATS *packet= (MYSQLND_PACKET_STATS *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -1999,7 +1999,7 @@ php_mysqlnd_prepare_read(void * _packet)
 {
        MYSQLND_PACKET_PREPARE_RESPONSE *packet= (MYSQLND_PACKET_PREPARE_RESPONSE *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -2094,7 +2094,7 @@ php_mysqlnd_chg_user_read(void * _packet)
 {
        MYSQLND_PACKET_CHG_USER_RESPONSE *packet= (MYSQLND_PACKET_CHG_USER_RESPONSE *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -2189,7 +2189,7 @@ size_t php_mysqlnd_sha256_pk_request_write(void * _packet)
 {
        MYSQLND_PACKET_SHA256_PK_REQUEST * packet = (MYSQLND_PACKET_SHA256_PK_REQUEST *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        zend_uchar buffer[MYSQLND_HEADER_SIZE + 1];
@@ -2225,7 +2225,7 @@ php_mysqlnd_sha256_pk_request_response_read(void * _packet)
 {
        MYSQLND_PACKET_SHA256_PK_REQUEST_RESPONSE * packet= (MYSQLND_PACKET_SHA256_PK_REQUEST_RESPONSE *) _packet;
        MYSQLND_ERROR_INFO * error_info = packet->header.error_info;
-       MYSQLND_NET * net = packet->header.net;
+       MYSQLND_PPEC * net = packet->header.net;
        MYSQLND_VIO * vio = packet->header.vio;
        MYSQLND_STATS * stats = packet->header.stats;
        MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
@@ -2936,12 +2936,12 @@ MYSQLND_METHOD(mysqlnd_protocol, send_command_handle_response)(
 
 
 
-/* {{{ mysqlnd_net::connect */
+/* {{{ mysqlnd_ppec::connect */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, connect)(MYSQLND_NET * const net, const MYSQLND_CSTRING scheme, const zend_bool persistent,
+MYSQLND_METHOD(mysqlnd_ppec, connect)(MYSQLND_PPEC * const net, const MYSQLND_CSTRING scheme, const zend_bool persistent,
                                                                         MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info)
 {
-       DBG_ENTER("mysqlnd_net::connect");
+       DBG_ENTER("mysqlnd_ppec::connect");
        net->packet_no = net->compressed_envelope_packet_no = 0;
        DBG_RETURN(PASS);
 }
@@ -2958,7 +2958,7 @@ MYSQLND_METHOD(mysqlnd_net, connect)(MYSQLND_NET * const net, const MYSQLND_CSTR
 #define RESTORE_HEADER_SIZE(buffer, safe_storage) STORE_HEADER_SIZE((safe_storage), (buffer))
 
 
-/* {{{ mysqlnd_net::send */
+/* {{{ mysqlnd_ppec::send */
 /*
   IMPORTANT : It's expected that buffer has place in the beginning for MYSQLND_HEADER_SIZE !!!!
                          This is done for performance reasons in the caller of this function.
@@ -2970,7 +2970,7 @@ MYSQLND_METHOD(mysqlnd_net, connect)(MYSQLND_NET * const net, const MYSQLND_CSTR
   count + MYSQLND_HEADER_SIZE = sizeof(buffer) (not the pointer but the actual buffer)
 */
 static size_t
-MYSQLND_METHOD(mysqlnd_net, send)(MYSQLND_NET * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count,
+MYSQLND_METHOD(mysqlnd_ppec, send)(MYSQLND_PPEC * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count,
                                                                  MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info)
 {
        zend_uchar safe_buf[((MYSQLND_HEADER_SIZE) + (sizeof(zend_uchar)) - 1) / (sizeof(zend_uchar))];
@@ -2981,7 +2981,7 @@ MYSQLND_METHOD(mysqlnd_net, send)(MYSQLND_NET * const net, MYSQLND_VIO * const v
        zend_uchar * compress_buf = NULL;
        size_t to_be_sent;
 
-       DBG_ENTER("mysqlnd_net::send");
+       DBG_ENTER("mysqlnd_ppec::send");
        DBG_INF_FMT("count=" MYSQLND_SZ_T_SPEC " compression=%u", count, net->data->compressed);
 
        if (net->data->compressed == TRUE) {
@@ -3156,16 +3156,16 @@ mysqlnd_create_read_buffer(size_t count)
 /* }}} */
 
 
-/* {{{ mysqlnd_net::read_compressed_packet_from_stream_and_fill_read_buffer */
+/* {{{ mysqlnd_ppec::read_compressed_packet_from_stream_and_fill_read_buffer */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, read_compressed_packet_from_stream_and_fill_read_buffer)
-               (MYSQLND_NET * net, MYSQLND_VIO * vio, size_t net_payload_size, MYSQLND_STATS * conn_stats, MYSQLND_ERROR_INFO * error_info)
+MYSQLND_METHOD(mysqlnd_ppec, read_compressed_packet_from_stream_and_fill_read_buffer)
+               (MYSQLND_PPEC * net, MYSQLND_VIO * vio, size_t net_payload_size, MYSQLND_STATS * conn_stats, MYSQLND_ERROR_INFO * error_info)
 {
        size_t decompressed_size;
        enum_func_status retval = PASS;
        zend_uchar * compressed_data = NULL;
        zend_uchar comp_header[COMPRESSED_HEADER_SIZE];
-       DBG_ENTER("mysqlnd_net::read_compressed_packet_from_stream_and_fill_read_buffer");
+       DBG_ENTER("mysqlnd_ppec::read_compressed_packet_from_stream_and_fill_read_buffer");
 
        /* Read the compressed header */
        if (FAIL == vio->data->m.network_read(vio, comp_header, COMPRESSED_HEADER_SIZE, conn_stats, error_info)) {
@@ -3205,15 +3205,15 @@ end:
 #endif /* MYSQLND_COMPRESSION_ENABLED */
 
 
-/* {{{ mysqlnd_net::decode */
+/* {{{ mysqlnd_ppec::decode */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, decode)(zend_uchar * uncompressed_data, const size_t uncompressed_data_len,
+MYSQLND_METHOD(mysqlnd_ppec, decode)(zend_uchar * uncompressed_data, const size_t uncompressed_data_len,
                                                                        const zend_uchar * const compressed_data, const size_t compressed_data_len)
 {
 #ifdef MYSQLND_COMPRESSION_ENABLED
        int error;
        uLongf tmp_complen = uncompressed_data_len;
-       DBG_ENTER("mysqlnd_net::decode");
+       DBG_ENTER("mysqlnd_ppec::decode");
        error = uncompress(uncompressed_data, &tmp_complen, compressed_data, compressed_data_len);
 
        DBG_INF_FMT("compressed data: decomp_len=%lu compressed_size="MYSQLND_SZ_T_SPEC, tmp_complen, compressed_data_len);
@@ -3222,22 +3222,22 @@ MYSQLND_METHOD(mysqlnd_net, decode)(zend_uchar * uncompressed_data, const size_t
        }
        DBG_RETURN(error == Z_OK? PASS:FAIL);
 #else
-       DBG_ENTER("mysqlnd_net::decode");
+       DBG_ENTER("mysqlnd_ppec::decode");
        DBG_RETURN(FAIL);
 #endif
 }
 /* }}} */
 
 
-/* {{{ mysqlnd_net::encode */
+/* {{{ mysqlnd_ppec::encode */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, encode)(zend_uchar * compress_buffer, size_t * compress_buffer_len,
+MYSQLND_METHOD(mysqlnd_ppec, encode)(zend_uchar * compress_buffer, size_t * compress_buffer_len,
                                                                        const zend_uchar * const uncompressed_data, const size_t uncompressed_data_len)
 {
 #ifdef MYSQLND_COMPRESSION_ENABLED
        int error;
        uLongf tmp_complen = *compress_buffer_len;
-       DBG_ENTER("mysqlnd_net::encode");
+       DBG_ENTER("mysqlnd_ppec::encode");
        error = compress(compress_buffer, &tmp_complen, uncompressed_data, uncompressed_data_len);
 
        if (error != Z_OK) {
@@ -3249,22 +3249,22 @@ MYSQLND_METHOD(mysqlnd_net, encode)(zend_uchar * compress_buffer, size_t * compr
 
        DBG_RETURN(error == Z_OK? PASS:FAIL);
 #else
-       DBG_ENTER("mysqlnd_net::encode");
+       DBG_ENTER("mysqlnd_ppec::encode");
        DBG_RETURN(FAIL);
 #endif
 }
 /* }}} */
 
 
-/* {{{ mysqlnd_net::receive */
+/* {{{ mysqlnd_ppec::receive */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, receive)(MYSQLND_NET * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count,
+MYSQLND_METHOD(mysqlnd_ppec, receive)(MYSQLND_PPEC * const net, MYSQLND_VIO * const vio, zend_uchar * const buffer, const size_t count,
                                                                         MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info)
 {
        size_t to_read = count;
        zend_uchar * p = buffer;
 
-       DBG_ENTER("mysqlnd_net::receive");
+       DBG_ENTER("mysqlnd_ppec::receive");
 #ifdef MYSQLND_COMPRESSION_ENABLED
        if (net->data->compressed) {
                if (net->uncompressed_data) {
@@ -3322,11 +3322,11 @@ MYSQLND_METHOD(mysqlnd_net, receive)(MYSQLND_NET * const net, MYSQLND_VIO * cons
 /* }}} */
 
 
-/* {{{ mysqlnd_net::set_client_option */
+/* {{{ mysqlnd_ppec::set_client_option */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, set_client_option)(MYSQLND_NET * const net, enum_mysqlnd_client_option option, const char * const value)
+MYSQLND_METHOD(mysqlnd_ppec, set_client_option)(MYSQLND_PPEC * const net, enum_mysqlnd_client_option option, const char * const value)
 {
-       DBG_ENTER("mysqlnd_net::set_client_option");
+       DBG_ENTER("mysqlnd_ppec::set_client_option");
        DBG_INF_FMT("option=%u", option);
        switch (option) {
                case MYSQL_OPT_COMPRESS:
@@ -3349,12 +3349,12 @@ MYSQLND_METHOD(mysqlnd_net, set_client_option)(MYSQLND_NET * const net, enum_mys
 /* }}} */
 
 
-/* {{{ mysqlnd_net::free_contents */
+/* {{{ mysqlnd_ppec::free_contents */
 static void
-MYSQLND_METHOD(mysqlnd_net, free_contents)(MYSQLND_NET * net)
+MYSQLND_METHOD(mysqlnd_ppec, free_contents)(MYSQLND_PPEC * net)
 {
        zend_bool pers = net->persistent;
-       DBG_ENTER("mysqlnd_net::free_contents");
+       DBG_ENTER("mysqlnd_ppec::free_contents");
 
 #ifdef MYSQLND_COMPRESSION_ENABLED
        if (net->uncompressed_data) {
@@ -3371,20 +3371,20 @@ MYSQLND_METHOD(mysqlnd_net, free_contents)(MYSQLND_NET * net)
 /* }}} */
 
 
-/* {{{ mysqlnd_net::init */
+/* {{{ mysqlnd_ppec::init */
 static enum_func_status
-MYSQLND_METHOD(mysqlnd_net, init)(MYSQLND_NET * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info)
+MYSQLND_METHOD(mysqlnd_ppec, init)(MYSQLND_PPEC * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info)
 {
        return PASS;
 }
 /* }}} */
 
 
-/* {{{ mysqlnd_net::dtor */
+/* {{{ mysqlnd_ppec::dtor */
 static void
-MYSQLND_METHOD(mysqlnd_net, dtor)(MYSQLND_NET * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info)
+MYSQLND_METHOD(mysqlnd_ppec, dtor)(MYSQLND_PPEC * const net, MYSQLND_STATS * const stats, MYSQLND_ERROR_INFO * const error_info)
 {
-       DBG_ENTER("mysqlnd_net::dtor");
+       DBG_ENTER("mysqlnd_ppec::dtor");
        if (net) {
                net->data->m.free_contents(net);
 
@@ -3396,46 +3396,46 @@ MYSQLND_METHOD(mysqlnd_net, dtor)(MYSQLND_NET * const net, MYSQLND_STATS * const
 /* }}} */
 
 
-MYSQLND_CLASS_METHODS_START(mysqlnd_net)
-       MYSQLND_METHOD(mysqlnd_net, init),
-       MYSQLND_METHOD(mysqlnd_net, dtor),
-       MYSQLND_METHOD(mysqlnd_net, connect),
+MYSQLND_CLASS_METHODS_START(mysqlnd_protocol_packet_envelope_codec)
+       MYSQLND_METHOD(mysqlnd_ppec, init),
+       MYSQLND_METHOD(mysqlnd_ppec, dtor),
+       MYSQLND_METHOD(mysqlnd_ppec, connect),
 
-       MYSQLND_METHOD(mysqlnd_net, set_client_option),
+       MYSQLND_METHOD(mysqlnd_ppec, set_client_option),
 
-       MYSQLND_METHOD(mysqlnd_net, decode),
-       MYSQLND_METHOD(mysqlnd_net, encode),
+       MYSQLND_METHOD(mysqlnd_ppec, decode),
+       MYSQLND_METHOD(mysqlnd_ppec, encode),
 
-       MYSQLND_METHOD(mysqlnd_net, send),
-       MYSQLND_METHOD(mysqlnd_net, receive),
+       MYSQLND_METHOD(mysqlnd_ppec, send),
+       MYSQLND_METHOD(mysqlnd_ppec, receive),
 
 #ifdef MYSQLND_COMPRESSION_ENABLED
-       MYSQLND_METHOD(mysqlnd_net, read_compressed_packet_from_stream_and_fill_read_buffer),
+       MYSQLND_METHOD(mysqlnd_ppec, read_compressed_packet_from_stream_and_fill_read_buffer),
 #else
        NULL,
 #endif
 
-       MYSQLND_METHOD(mysqlnd_net, free_contents),
+       MYSQLND_METHOD(mysqlnd_ppec, free_contents),
 MYSQLND_CLASS_METHODS_END;
 
 
-/* {{{ mysqlnd_net_init */
-PHPAPI MYSQLND_NET *
-mysqlnd_net_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
+/* {{{ mysqlnd_ppec_init */
+PHPAPI MYSQLND_PPEC *
+mysqlnd_ppec_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
 {
-       MYSQLND_NET * net;
-       DBG_ENTER("mysqlnd_net_init");
+       MYSQLND_PPEC * net;
+       DBG_ENTER("mysqlnd_ppec_init");
        net = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_net(persistent, stats, error_info);
        DBG_RETURN(net);
 }
 /* }}} */
 
 
-/* {{{ mysqlnd_net_free */
+/* {{{ mysqlnd_ppec_free */
 PHPAPI void
-mysqlnd_net_free(MYSQLND_NET * const net, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
+mysqlnd_ppec_free(MYSQLND_PPEC * const net, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info)
 {
-       DBG_ENTER("mysqlnd_net_free");
+       DBG_ENTER("mysqlnd_ppec_free");
        if (net) {
                net->data->m.dtor(net, stats, error_info);
        }
index 15cc02f95e015bb97d8364ed5d0a3d2aa7f97917..e43c1324dab931174dd421d6096a3bd7c65000b5 100644 (file)
@@ -63,7 +63,7 @@ typedef struct st_mysqlnd_packet_header {
        mysqlnd_packet_methods *m;
 
        MYSQLND_CONN_DATA * conn;
-       MYSQLND_NET * net;
+       MYSQLND_PPEC * net;
        MYSQLND_VIO * vio;
        MYSQLND_ERROR_INFO * error_info;
        MYSQLND_STATS * stats;
@@ -324,6 +324,11 @@ enum_func_status php_mysqlnd_rowp_read_text_protocol_c(MYSQLND_MEMORY_POOL_CHUNK
 PHPAPI MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * mysqlnd_protocol_payload_decoder_factory_init(MYSQLND_CONN_DATA * conn, zend_bool persistent);
 PHPAPI void mysqlnd_protocol_payload_decoder_factory_free(MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * const payload_decoder_factory);
 
+
+PHPAPI MYSQLND_PPEC * mysqlnd_ppec_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
+PHPAPI void mysqlnd_ppec_free(MYSQLND_PPEC * const net, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
+
+
 #endif /* MYSQLND_WIREPROTOCOL_H */
 
 /*