python: send_cb returns 0 to indicate SPDYLAY_ERR_WOULDBLOCK. Reorder cbs.
This commit is contained in:
parent
5dcdf95a67
commit
288962f3e6
|
@ -23,6 +23,10 @@ cdef extern from 'spdylay/spdylay.h':
|
||||||
SPDYLAY_CTRL_FLAG_FIN
|
SPDYLAY_CTRL_FLAG_FIN
|
||||||
SPDYLAY_CTRL_FLAG_UNIDIRECTIONAL
|
SPDYLAY_CTRL_FLAG_UNIDIRECTIONAL
|
||||||
|
|
||||||
|
ctypedef enum spdylay_data_flag:
|
||||||
|
SPDYLAY_DATA_FLAG_NONE
|
||||||
|
SPDYLAY_DATA_FLAG_FIN
|
||||||
|
|
||||||
ctypedef enum spdylay_frame_type:
|
ctypedef enum spdylay_frame_type:
|
||||||
SPDYLAY_SYN_STREAM
|
SPDYLAY_SYN_STREAM
|
||||||
SPDYLAY_SYN_REPLY
|
SPDYLAY_SYN_REPLY
|
||||||
|
|
|
@ -303,10 +303,10 @@ cdef ssize_t send_callback(cspdylay.spdylay_session *session,
|
||||||
pysession.base_error = e
|
pysession.base_error = e
|
||||||
return cspdylay.SPDYLAY_ERR_CALLBACK_FAILURE
|
return cspdylay.SPDYLAY_ERR_CALLBACK_FAILURE
|
||||||
|
|
||||||
if rv == cspdylay.SPDYLAY_ERR_WOULDBLOCK:
|
if rv:
|
||||||
return cspdylay.SPDYLAY_ERR_WOULDBLOCK
|
|
||||||
else:
|
|
||||||
return rv
|
return rv
|
||||||
|
else:
|
||||||
|
return cspdylay.SPDYLAY_ERR_WOULDBLOCK
|
||||||
else:
|
else:
|
||||||
# If no send_callback is given, pretend all data were sent and
|
# If no send_callback is given, pretend all data were sent and
|
||||||
# just return length
|
# just return length
|
||||||
|
@ -402,9 +402,9 @@ cdef class Session:
|
||||||
return self.user_data
|
return self.user_data
|
||||||
|
|
||||||
def __cinit__(self, side, version,
|
def __cinit__(self, side, version,
|
||||||
recv_cb=None, send_cb=None,
|
send_cb=None, recv_cb=None,
|
||||||
on_data_chunk_recv_cb=None,
|
|
||||||
on_ctrl_recv_cb=None,
|
on_ctrl_recv_cb=None,
|
||||||
|
on_data_chunk_recv_cb=None,
|
||||||
on_stream_close_cb=None,
|
on_stream_close_cb=None,
|
||||||
on_request_recv_cb=None,
|
on_request_recv_cb=None,
|
||||||
user_data=None):
|
user_data=None):
|
||||||
|
@ -469,9 +469,9 @@ cdef class Session:
|
||||||
raise UnsupportedVersionError(cspdylay.spdylay_strerror(rv))
|
raise UnsupportedVersionError(cspdylay.spdylay_strerror(rv))
|
||||||
|
|
||||||
def __init__(self, side, version,
|
def __init__(self, side, version,
|
||||||
recv_cb=None, send_cb=None,
|
send_cb=None, recv_cb=None,
|
||||||
on_data_chunk_recv_cb=None,
|
|
||||||
on_ctrl_recv_cb=None,
|
on_ctrl_recv_cb=None,
|
||||||
|
on_data_chunk_recv_cb=None,
|
||||||
on_stream_close_cb=None,
|
on_stream_close_cb=None,
|
||||||
on_request_recv_cb=None,
|
on_request_recv_cb=None,
|
||||||
user_data=None):
|
user_data=None):
|
||||||
|
@ -686,6 +686,10 @@ CTRL_FLAG_NONE = cspdylay.SPDYLAY_CTRL_FLAG_NONE
|
||||||
CTRL_FLAG_FIN = cspdylay.SPDYLAY_CTRL_FLAG_FIN
|
CTRL_FLAG_FIN = cspdylay.SPDYLAY_CTRL_FLAG_FIN
|
||||||
CTRL_FLAG_UNIDIRECTIONAL = cspdylay.SPDYLAY_CTRL_FLAG_UNIDIRECTIONAL
|
CTRL_FLAG_UNIDIRECTIONAL = cspdylay.SPDYLAY_CTRL_FLAG_UNIDIRECTIONAL
|
||||||
|
|
||||||
|
# Data frame flags
|
||||||
|
DATA_FLAG_NONE = cspdylay.SPDYLAY_DATA_FLAG_NONE
|
||||||
|
DATA_FLAG_FIN = cspdylay.SPDYLAY_DATA_FLAG_FIN
|
||||||
|
|
||||||
# Error codes used in callback
|
# Error codes used in callback
|
||||||
ERR_OK = 0 # Not defined in <spdylay/spdylay.h>
|
ERR_OK = 0 # Not defined in <spdylay/spdylay.h>
|
||||||
ERR_EOF = cspdylay.SPDYLAY_ERR_EOF
|
ERR_EOF = cspdylay.SPDYLAY_ERR_EOF
|
||||||
|
|
Loading…
Reference in New Issue