@@ -36,7 +36,7 @@ static enum_func_status
36
36
MYSQLND_METHOD (mysqlnd_pfc , reset )(MYSQLND_PFC * const pfc , MYSQLND_STATS * const conn_stats , MYSQLND_ERROR_INFO * const error_info )
37
37
{
38
38
DBG_ENTER ("mysqlnd_pfc::reset" );
39
- pfc -> packet_no = pfc -> compressed_envelope_packet_no = 0 ;
39
+ pfc -> data -> packet_no = pfc -> data -> compressed_envelope_packet_no = 0 ;
40
40
DBG_RETURN (PASS );
41
41
}
42
42
/* }}} */
@@ -88,8 +88,8 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
88
88
to_be_sent = MIN (left , MYSQLND_MAX_PACKET_SIZE );
89
89
DBG_INF_FMT ("to_be_sent=%u" , to_be_sent );
90
90
DBG_INF_FMT ("packets_sent=%u" , packets_sent );
91
- DBG_INF_FMT ("compressed_envelope_packet_no=%u" , pfc -> compressed_envelope_packet_no );
92
- DBG_INF_FMT ("packet_no=%u" , pfc -> packet_no );
91
+ DBG_INF_FMT ("compressed_envelope_packet_no=%u" , pfc -> data -> compressed_envelope_packet_no );
92
+ DBG_INF_FMT ("packet_no=%u" , pfc -> data -> packet_no );
93
93
#ifdef MYSQLND_COMPRESSION_ENABLED
94
94
if (pfc -> data -> compressed == TRUE) {
95
95
/* here we need to compress the data and then write it, first comes the compressed header */
@@ -99,7 +99,7 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
99
99
100
100
STORE_HEADER_SIZE (safe_storage , uncompressed_payload );
101
101
int3store (uncompressed_payload , to_be_sent );
102
- int1store (uncompressed_payload + 3 , pfc -> packet_no );
102
+ int1store (uncompressed_payload + 3 , pfc -> data -> packet_no );
103
103
if (PASS == pfc -> data -> m .encode ((compress_buf + COMPRESSED_HEADER_SIZE + MYSQLND_HEADER_SIZE ), & tmp_complen ,
104
104
uncompressed_payload , to_be_sent + MYSQLND_HEADER_SIZE ))
105
105
{
@@ -113,10 +113,10 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
113
113
RESTORE_HEADER_SIZE (uncompressed_payload , safe_storage );
114
114
115
115
int3store (compress_buf , payload_size );
116
- int1store (compress_buf + 3 , pfc -> packet_no );
116
+ int1store (compress_buf + 3 , pfc -> data -> packet_no );
117
117
DBG_INF_FMT ("writing " MYSQLND_SZ_T_SPEC " bytes to the network" , payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE );
118
118
bytes_sent = vio -> data -> m .network_write (vio , compress_buf , payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE , conn_stats , error_info );
119
- pfc -> compressed_envelope_packet_no ++ ;
119
+ pfc -> data -> compressed_envelope_packet_no ++ ;
120
120
#if WHEN_WE_NEED_TO_CHECK_WHETHER_COMPRESSION_WORKS_CORRECTLY
121
121
if (res == Z_OK ) {
122
122
size_t decompressed_size = left + MYSQLND_HEADER_SIZE ;
@@ -145,12 +145,12 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
145
145
DBG_INF ("no compression" );
146
146
STORE_HEADER_SIZE (safe_storage , p );
147
147
int3store (p , to_be_sent );
148
- int1store (p + 3 , pfc -> packet_no );
148
+ int1store (p + 3 , pfc -> data -> packet_no );
149
149
bytes_sent = vio -> data -> m .network_write (vio , p , to_be_sent + MYSQLND_HEADER_SIZE , conn_stats , error_info );
150
150
RESTORE_HEADER_SIZE (p , safe_storage );
151
- pfc -> compressed_envelope_packet_no ++ ;
151
+ pfc -> data -> compressed_envelope_packet_no ++ ;
152
152
}
153
- pfc -> packet_no ++ ;
153
+ pfc -> data -> packet_no ++ ;
154
154
155
155
p += to_be_sent ;
156
156
left -= to_be_sent ;
@@ -164,7 +164,7 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
164
164
*/
165
165
} while (bytes_sent && (left > 0 || to_be_sent == MYSQLND_MAX_PACKET_SIZE ));
166
166
167
- DBG_INF_FMT ("packet_size=" MYSQLND_SZ_T_SPEC " packet_no=%u" , left , pfc -> packet_no );
167
+ DBG_INF_FMT ("packet_size=" MYSQLND_SZ_T_SPEC " packet_no=%u" , left , pfc -> data -> packet_no );
168
168
169
169
MYSQLND_INC_CONN_STATISTIC_W_VALUE3 (conn_stats ,
170
170
STAT_BYTES_SENT , count + packets_sent * MYSQLND_HEADER_SIZE ,
@@ -276,15 +276,15 @@ MYSQLND_METHOD(mysqlnd_pfc, read_compressed_packet_from_stream_and_fill_read_buf
276
276
retval = FAIL ;
277
277
goto end ;
278
278
}
279
- pfc -> uncompressed_data = mysqlnd_create_read_buffer (decompressed_size );
280
- retval = pfc -> data -> m .decode (pfc -> uncompressed_data -> data , decompressed_size , compressed_data , net_payload_size );
279
+ pfc -> data -> uncompressed_data = mysqlnd_create_read_buffer (decompressed_size );
280
+ retval = pfc -> data -> m .decode (pfc -> data -> uncompressed_data -> data , decompressed_size , compressed_data , net_payload_size );
281
281
if (FAIL == retval ) {
282
282
goto end ;
283
283
}
284
284
} else {
285
285
DBG_INF_FMT ("The server decided not to compress the data. Our job is easy. Copying %u bytes" , net_payload_size );
286
- pfc -> uncompressed_data = mysqlnd_create_read_buffer (net_payload_size );
287
- if (FAIL == vio -> data -> m .network_read (vio , pfc -> uncompressed_data -> data , net_payload_size , conn_stats , error_info )) {
286
+ pfc -> data -> uncompressed_data = mysqlnd_create_read_buffer (net_payload_size );
287
+ if (FAIL == vio -> data -> m .network_read (vio , pfc -> data -> uncompressed_data -> data , net_payload_size , conn_stats , error_info )) {
288
288
retval = FAIL ;
289
289
goto end ;
290
290
}
@@ -361,18 +361,18 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
361
361
DBG_ENTER ("mysqlnd_pfc::receive" );
362
362
#ifdef MYSQLND_COMPRESSION_ENABLED
363
363
if (pfc -> data -> compressed ) {
364
- if (pfc -> uncompressed_data ) {
365
- size_t to_read_from_buffer = MIN (pfc -> uncompressed_data -> bytes_left (pfc -> uncompressed_data ), to_read );
364
+ if (pfc -> data -> uncompressed_data ) {
365
+ size_t to_read_from_buffer = MIN (pfc -> data -> uncompressed_data -> bytes_left (pfc -> data -> uncompressed_data ), to_read );
366
366
DBG_INF_FMT ("reading " MYSQLND_SZ_T_SPEC " from uncompressed_data buffer" , to_read_from_buffer );
367
367
if (to_read_from_buffer ) {
368
- pfc -> uncompressed_data -> read (pfc -> uncompressed_data , to_read_from_buffer , (zend_uchar * ) p );
368
+ pfc -> data -> uncompressed_data -> read (pfc -> data -> uncompressed_data , to_read_from_buffer , (zend_uchar * ) p );
369
369
p += to_read_from_buffer ;
370
370
to_read -= to_read_from_buffer ;
371
371
}
372
372
DBG_INF_FMT ("left " MYSQLND_SZ_T_SPEC " to read" , to_read );
373
- if (TRUE == pfc -> uncompressed_data -> is_empty (pfc -> uncompressed_data )) {
373
+ if (TRUE == pfc -> data -> uncompressed_data -> is_empty (pfc -> data -> uncompressed_data )) {
374
374
/* Everything was consumed. This should never happen here, but for security */
375
- pfc -> uncompressed_data -> free_buffer (& pfc -> uncompressed_data );
375
+ pfc -> data -> uncompressed_data -> free_buffer (& pfc -> data -> uncompressed_data );
376
376
}
377
377
}
378
378
if (to_read ) {
@@ -385,15 +385,15 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
385
385
}
386
386
net_payload_size = uint3korr (net_header );
387
387
packet_no = uint1korr (net_header + 3 );
388
- if (pfc -> compressed_envelope_packet_no != packet_no ) {
388
+ if (pfc -> data -> compressed_envelope_packet_no != packet_no ) {
389
389
DBG_ERR_FMT ("Transport level: packets out of order. Expected %u received %u. Packet size=" MYSQLND_SZ_T_SPEC ,
390
- pfc -> compressed_envelope_packet_no , packet_no , net_payload_size );
390
+ pfc -> data -> compressed_envelope_packet_no , packet_no , net_payload_size );
391
391
392
392
php_error (E_WARNING , "Packets out of order. Expected %u received %u. Packet size=" MYSQLND_SZ_T_SPEC ,
393
- pfc -> compressed_envelope_packet_no , packet_no , net_payload_size );
393
+ pfc -> data -> compressed_envelope_packet_no , packet_no , net_payload_size );
394
394
DBG_RETURN (FAIL );
395
395
}
396
- pfc -> compressed_envelope_packet_no ++ ;
396
+ pfc -> data -> compressed_envelope_packet_no ++ ;
397
397
#ifdef MYSQLND_DUMP_HEADER_N_BODY
398
398
DBG_INF_FMT ("HEADER: hwd_packet_no=%u size=%3u" , packet_no , (zend_ulong ) net_payload_size );
399
399
#endif
@@ -424,15 +424,15 @@ MYSQLND_METHOD(mysqlnd_pfc, set_client_option)(MYSQLND_PFC * const pfc, enum_mys
424
424
DBG_INF_FMT ("option=%u" , option );
425
425
switch (option ) {
426
426
case MYSQL_OPT_COMPRESS :
427
- pfc -> data -> options . flags |= MYSQLND_NET_FLAG_USE_COMPRESSION ;
427
+ pfc -> data -> flags |= MYSQLND_NET_FLAG_USE_COMPRESSION ;
428
428
break ;
429
429
case MYSQL_SERVER_PUBLIC_KEY :
430
430
{
431
431
zend_bool pers = pfc -> persistent ;
432
- if (pfc -> data -> options . sha256_server_public_key ) {
433
- mnd_pefree (pfc -> data -> options . sha256_server_public_key , pers );
432
+ if (pfc -> data -> sha256_server_public_key ) {
433
+ mnd_pefree (pfc -> data -> sha256_server_public_key , pers );
434
434
}
435
- pfc -> data -> options . sha256_server_public_key = value ? mnd_pestrdup (value , pers ) : NULL ;
435
+ pfc -> data -> sha256_server_public_key = value ? mnd_pestrdup (value , pers ) : NULL ;
436
436
break ;
437
437
}
438
438
default :
@@ -450,13 +450,13 @@ MYSQLND_METHOD(mysqlnd_pfc, free_contents)(MYSQLND_PFC * pfc)
450
450
DBG_ENTER ("mysqlnd_pfc::free_contents" );
451
451
452
452
#ifdef MYSQLND_COMPRESSION_ENABLED
453
- if (pfc -> uncompressed_data ) {
454
- pfc -> uncompressed_data -> free_buffer (& pfc -> uncompressed_data );
453
+ if (pfc -> data -> uncompressed_data ) {
454
+ pfc -> data -> uncompressed_data -> free_buffer (& pfc -> data -> uncompressed_data );
455
455
}
456
456
#endif
457
- if (pfc -> data -> options . sha256_server_public_key ) {
458
- mnd_pefree (pfc -> data -> options . sha256_server_public_key , pfc -> persistent );
459
- pfc -> data -> options . sha256_server_public_key = NULL ;
457
+ if (pfc -> data -> sha256_server_public_key ) {
458
+ mnd_pefree (pfc -> data -> sha256_server_public_key , pfc -> persistent );
459
+ pfc -> data -> sha256_server_public_key = NULL ;
460
460
}
461
461
462
462
DBG_VOID_RETURN ;
@@ -518,7 +518,7 @@ mysqlnd_pfc_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO
518
518
{
519
519
MYSQLND_PFC * pfc ;
520
520
DBG_ENTER ("mysqlnd_pfc_init" );
521
- pfc = MYSQLND_CLASS_METHOD_TABLE_NAME (mysqlnd_object_factory ).get_net (persistent , stats , error_info );
521
+ pfc = MYSQLND_CLASS_METHOD_TABLE_NAME (mysqlnd_object_factory ).get_protocol_frame_codec (persistent , stats , error_info );
522
522
DBG_RETURN (pfc );
523
523
}
524
524
/* }}} */
0 commit comments