| import cython | |
| from .mask cimport _websocket_mask_cython as websocket_mask | |
| cdef unsigned int READ_HEADER | |
| cdef unsigned int READ_PAYLOAD_LENGTH | |
| cdef unsigned int READ_PAYLOAD_MASK | |
| cdef unsigned int READ_PAYLOAD | |
| cdef int OP_CODE_NOT_SET | |
| cdef int OP_CODE_CONTINUATION | |
| cdef int OP_CODE_TEXT | |
| cdef int OP_CODE_BINARY | |
| cdef int OP_CODE_CLOSE | |
| cdef int OP_CODE_PING | |
| cdef int OP_CODE_PONG | |
| cdef int COMPRESSED_NOT_SET | |
| cdef int COMPRESSED_FALSE | |
| cdef int COMPRESSED_TRUE | |
| cdef object UNPACK_LEN3 | |
| cdef object UNPACK_CLOSE_CODE | |
| cdef object TUPLE_NEW | |
| cdef object WSMsgType | |
| cdef object WSMessage | |
| cdef object WS_MSG_TYPE_TEXT | |
| cdef object WS_MSG_TYPE_BINARY | |
| cdef set ALLOWED_CLOSE_CODES | |
| cdef set MESSAGE_TYPES_WITH_CONTENT | |
| cdef tuple EMPTY_FRAME | |
| cdef tuple EMPTY_FRAME_ERROR | |
| cdef class WebSocketDataQueue: | |
| cdef unsigned int _size | |
| cdef public object _protocol | |
| cdef unsigned int _limit | |
| cdef object _loop | |
| cdef bint _eof | |
| cdef object _waiter | |
| cdef object _exception | |
| cdef public object _buffer | |
| cdef object _get_buffer | |
| cdef object _put_buffer | |
| cdef void _release_waiter(self) | |
| cpdef void feed_data(self, object data, unsigned int size) | |
| @cython.locals(size="unsigned int") | |
| cdef _read_from_buffer(self) | |
| cdef class WebSocketReader: | |
| cdef WebSocketDataQueue queue | |
| cdef unsigned int _max_msg_size | |
| cdef Exception _exc | |
| cdef bytearray _partial | |
| cdef unsigned int _state | |
| cdef int _opcode | |
| cdef bint _frame_fin | |
| cdef int _frame_opcode | |
| cdef list _payload_fragments | |
| cdef Py_ssize_t _frame_payload_len | |
| cdef bytes _tail | |
| cdef bint _has_mask | |
| cdef bytes _frame_mask | |
| cdef Py_ssize_t _payload_bytes_to_read | |
| cdef unsigned int _payload_len_flag | |
| cdef int _compressed | |
| cdef object _decompressobj | |
| cdef bint _compress | |
| cpdef tuple feed_data(self, object data) | |
| @cython.locals( | |
| is_continuation=bint, | |
| fin=bint, | |
| has_partial=bint, | |
| payload_merged=bytes, | |
| ) | |
| cpdef void _handle_frame(self, bint fin, int opcode, object payload, int compressed) except * | |
| @cython.locals( | |
| start_pos=Py_ssize_t, | |
| data_len=Py_ssize_t, | |
| length=Py_ssize_t, | |
| chunk_size=Py_ssize_t, | |
| chunk_len=Py_ssize_t, | |
| data_len=Py_ssize_t, | |
| data_cstr="const unsigned char *", | |
| first_byte="unsigned char", | |
| second_byte="unsigned char", | |
| f_start_pos=Py_ssize_t, | |
| f_end_pos=Py_ssize_t, | |
| has_mask=bint, | |
| fin=bint, | |
| had_fragments=Py_ssize_t, | |
| payload_bytearray=bytearray, | |
| ) | |
| cpdef void _feed_data(self, bytes data) except * | |