@@ -385,19 +385,29 @@ void gko_pool::conn_buffer_init(conn_client *client)
385
385
thread_worker * worker = *(Pool->g_worker_list + client->worker_id );
386
386
387
387
client->err_no = INVILID;
388
+ #if defined (USE_GKO_MEMORY_POOL)
388
389
// / todo calloc every connection comes?
389
390
client->r_buf_arena_id = worker->mem .get_block ();
390
391
client->w_buf_arena_id = worker->mem .get_block ();
391
392
assert (client->r_buf_arena_id >= 0 );
392
393
assert (client->w_buf_arena_id >= 0 );
394
+ #endif
393
395
396
+ #if defined (USE_GKO_MEMORY_POOL)
394
397
client->read_buffer = (char *)worker->mem .id2addr (client->r_buf_arena_id );
398
+ #else
399
+ client->read_buffer = (char *)malloc (RBUF_SZ);
400
+ #endif
395
401
client->rbuf_size = RBUF_SZ;
396
402
client->have_read = 0 ;
397
403
client->need_read = CMD_PREFIX_BYTE;
398
404
399
405
// / todo calloc every connection comes?
406
+ #if defined (USE_GKO_MEMORY_POOL)
400
407
client->__write_buffer = (char *)worker->mem .id2addr (client->w_buf_arena_id );
408
+ #else
409
+ client->__write_buffer = (char *)malloc (WBUF_SZ);
410
+ #endif
401
411
client->write_buffer = client->__write_buffer + CMD_PREFIX_BYTE;
402
412
client->wbuf_size = WBUF_SZ - CMD_PREFIX_BYTE;
403
413
client->have_write = 0 ;
@@ -427,6 +437,7 @@ int gko_pool::conn_client_clear(struct conn_client *client)
427
437
// / todo free every connection comes?
428
438
if (client->read_buffer )
429
439
{
440
+ #if defined (USE_GKO_MEMORY_POOL)
430
441
if (client->r_buf_arena_id >= 0 )
431
442
{
432
443
worker->mem .free_block (client->r_buf_arena_id );
@@ -435,9 +446,13 @@ int gko_pool::conn_client_clear(struct conn_client *client)
435
446
}
436
447
else
437
448
{
449
+ #endif
450
+
438
451
free (client->read_buffer );
439
452
client->read_buffer = NULL ;
453
+ #if defined (USE_GKO_MEMORY_POOL)
440
454
}
455
+ #endif
441
456
}
442
457
client->rbuf_size = RBUF_SZ;
443
458
client->have_read = 0 ;
@@ -446,6 +461,7 @@ int gko_pool::conn_client_clear(struct conn_client *client)
446
461
// / todo free every connection comes?
447
462
if (client->__write_buffer )
448
463
{
464
+ #if defined (USE_GKO_MEMORY_POOL)
449
465
if (client->w_buf_arena_id >= 0 )
450
466
{
451
467
worker->mem .free_block (client->w_buf_arena_id );
@@ -454,9 +470,12 @@ int gko_pool::conn_client_clear(struct conn_client *client)
454
470
}
455
471
else
456
472
{
473
+ #endif
457
474
free (client->__write_buffer );
458
475
client->__write_buffer = NULL ;
476
+ #if defined (USE_GKO_MEMORY_POOL)
459
477
}
478
+ #endif
460
479
}
461
480
client->wbuf_size = WBUF_SZ - CMD_PREFIX_BYTE;
462
481
client->have_write = 0 ;
@@ -495,6 +514,7 @@ int gko_pool::conn_renew(struct conn_client *client)
495
514
496
515
if (client->read_buffer )
497
516
{
517
+ #if defined (USE_GKO_MEMORY_POOL)
498
518
if (client->r_buf_arena_id >= 0 )
499
519
{
500
520
worker->mem .free_block (client->r_buf_arena_id );
@@ -503,13 +523,20 @@ int gko_pool::conn_renew(struct conn_client *client)
503
523
}
504
524
else
505
525
{
526
+ #endif
506
527
free (client->read_buffer );
507
528
client->read_buffer = NULL ;
529
+ #if defined (USE_GKO_MEMORY_POOL)
508
530
}
531
+ #endif
509
532
}
510
533
534
+ #if defined (USE_GKO_MEMORY_POOL)
511
535
client->r_buf_arena_id = worker->mem .get_block ();
512
536
client->read_buffer = (char *)worker->mem .id2addr (client->r_buf_arena_id );
537
+ #else
538
+ client->read_buffer = (char *)malloc (RBUF_SZ);
539
+ #endif
513
540
514
541
client->rbuf_size = RBUF_SZ;
515
542
client->have_read = 0 ;
@@ -518,6 +545,7 @@ int gko_pool::conn_renew(struct conn_client *client)
518
545
// / todo free every connection comes?
519
546
if (client->__write_buffer )
520
547
{
548
+ #if defined (USE_GKO_MEMORY_POOL)
521
549
if (client->w_buf_arena_id >= 0 )
522
550
{
523
551
worker->mem .free_block (client->w_buf_arena_id );
@@ -526,13 +554,20 @@ int gko_pool::conn_renew(struct conn_client *client)
526
554
}
527
555
else
528
556
{
557
+ #endif
529
558
free (client->__write_buffer );
530
559
client->__write_buffer = NULL ;
560
+ #if defined (USE_GKO_MEMORY_POOL)
531
561
}
562
+ #endif
532
563
}
533
564
565
+ #if defined (USE_GKO_MEMORY_POOL)
534
566
client->w_buf_arena_id = worker->mem .get_block ();
535
567
client->__write_buffer = (char *)worker->mem .id2addr (client->w_buf_arena_id );
568
+ #else
569
+ client->__write_buffer = (char *)malloc (WBUF_SZ);
570
+ #endif
536
571
client->write_buffer = client->__write_buffer + CMD_PREFIX_BYTE;
537
572
538
573
client->wbuf_size = WBUF_SZ - CMD_PREFIX_BYTE;
0 commit comments