Make sure that pri in SYN_STREAM is 0(highest) to 3(lowest).
Use stream->pri for priority of SYN_REPLY.
This commit is contained in:
parent
cbb8dd6a8c
commit
46478c2398
|
@ -149,26 +149,29 @@ int spdylay_session_add_frame(spdylay_session *session,
|
||||||
}
|
}
|
||||||
item->frame_type = frame_type;
|
item->frame_type = frame_type;
|
||||||
item->frame = frame;
|
item->frame = frame;
|
||||||
/* TODO Add pri field to SYN_REPLY, DATA frame which copies
|
/* Set priority lowest at the moment. */
|
||||||
corresponding SYN_STREAM pri. PING frame always pri = 0
|
item->pri = 3;
|
||||||
(highest) */
|
|
||||||
switch(frame_type) {
|
switch(frame_type) {
|
||||||
case SPDYLAY_SYN_STREAM:
|
case SPDYLAY_SYN_STREAM:
|
||||||
item->pri = 4-frame->syn_stream.pri;
|
item->pri = frame->syn_stream.pri;
|
||||||
break;
|
break;
|
||||||
|
case SPDYLAY_SYN_REPLY: {
|
||||||
|
spdylay_stream *stream = spdylay_session_get_stream
|
||||||
|
(session, frame->syn_reply.stream_id);
|
||||||
|
if(stream) {
|
||||||
|
item->pri = stream->pri;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SPDYLAY_RST_STREAM: {
|
case SPDYLAY_RST_STREAM: {
|
||||||
spdylay_stream *stream = spdylay_session_get_stream
|
spdylay_stream *stream = spdylay_session_get_stream
|
||||||
(session, frame->rst_stream.stream_id);
|
(session, frame->rst_stream.stream_id);
|
||||||
if(stream) {
|
if(stream) {
|
||||||
stream->state = SPDYLAY_STREAM_CLOSING;
|
stream->state = SPDYLAY_STREAM_CLOSING;
|
||||||
item->pri = stream->pri;
|
item->pri = stream->pri;
|
||||||
} else {
|
|
||||||
item->pri = 4;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
|
||||||
item->pri = 4;
|
|
||||||
};
|
};
|
||||||
r = spdylay_pq_push(&session->ob_pq, item);
|
r = spdylay_pq_push(&session->ob_pq, item);
|
||||||
if(r != 0) {
|
if(r != 0) {
|
||||||
|
|
Loading…
Reference in New Issue