修正suspend/resume语义实现的若干问题,增加自行构建request/response的header标志
This commit is contained in:
@@ -141,9 +141,17 @@ void tfe_stream_suspend(const struct tfe_stream * stream, enum tfe_conn_dir by)
|
||||
_stream->is_suspended = true;
|
||||
_stream->suspended_by = by;
|
||||
|
||||
fprintf(stderr, "---- tfe-stream-suspend ----, %p, by = %d\n", _stream, by);
|
||||
|
||||
/* disable all events */
|
||||
bufferevent_disable(_stream->conn_upstream->bev, EV_READ | EV_WRITE);
|
||||
bufferevent_disable(_stream->conn_downstream->bev, EV_READ | EV_WRITE);
|
||||
int ret = 0;
|
||||
ret = bufferevent_disable(_stream->conn_upstream->bev, EV_READ | EV_WRITE);
|
||||
assert(ret == 0);
|
||||
|
||||
ret = bufferevent_disable(_stream->conn_downstream->bev, EV_READ | EV_WRITE);
|
||||
assert(ret == 0);
|
||||
|
||||
(void)ret;
|
||||
}
|
||||
|
||||
void tfe_stream_resume(const struct tfe_stream * stream)
|
||||
@@ -154,6 +162,8 @@ void tfe_stream_resume(const struct tfe_stream * stream)
|
||||
bufferevent_enable(_stream->conn_upstream->bev, EV_READ | EV_WRITE);
|
||||
bufferevent_enable(_stream->conn_downstream->bev, EV_READ | EV_WRITE);
|
||||
|
||||
assert(_stream->is_suspended == true);
|
||||
fprintf(stderr, "---- tfe-stream-resume ----, %p\n", _stream);
|
||||
if (_stream->suspended_by == CONN_DIR_DOWNSTREAM)
|
||||
{
|
||||
bufferevent_trigger(_stream->conn_downstream->bev, EV_READ, BEV_OPT_DEFER_CALLBACKS);
|
||||
@@ -538,6 +548,8 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "----- action = %d, bev = %p, input bev: %llu\n", action_final, bev, evbuffer_get_length(inbuf));
|
||||
|
||||
#if 0
|
||||
if (evbuffer_get_length(outbuf) >= TFE_CONFIG_OUTPUT_LIMIT_DEFAULT)
|
||||
{
|
||||
@@ -640,7 +652,6 @@ static void __stream_bev_eventcb(struct bufferevent * bev, short events, void *
|
||||
__stream_bev_readcb(bev, arg);
|
||||
}
|
||||
|
||||
// fprintf(stderr, "---- eventcb ----, stream = %p, event = %x, dir = %s\n", _stream, events, __str_dir);
|
||||
goto __close_connection;
|
||||
}
|
||||
|
||||
@@ -678,6 +689,7 @@ __close_connection:
|
||||
return;
|
||||
|
||||
__call_plugin_close:
|
||||
fprintf(stderr, "---- eventcb ---- call close, stream = %p, event = %x, dir = %s\n", _stream, events, __str_dir);
|
||||
call_plugin_close(_stream);
|
||||
tfe_stream_destory(_stream);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user