Constructor

Class: cogen.web.async.ReadLine

Same a async.Read but doesn't work with chunked input (it would complicate things too much at the moment).

Constructor

__init__ (self, conn, req, len=4096, **kws)

Initial req object holds the state of the operations involving reading the input and it requires to have these attributes:

  • read_chunked = <bool>
  • content_length = <int>
  • read_count = 0
  • state = async.Read.NEED_SIZE

These have to be initialized in the request.

Methods

check_overflow (self)

cleanup (self, sched, coro)

finalize (self)

iocp (self, overlap)

iocp_done (self, rc, nbytes)

pending (self)

process (self, sched, coro)

Add the operation in the reactor if necessary.

run (self, reactor=True)

~ @debug(0)

try_run (self, reactor)

This method will return a None value or raise a exception if the operation can't complete at this time.

The socket poller will run this method if the socket is readable/writeable.

If this returns a value that evaluates to False, the poller will try to run this at a later time (when the socket is readable/writeable again).

Attributes

addr

Value of addr

<member 'addr' of 'SocketOperation' objects>

buff

Value of buff

<member 'buff' of 'SocketOperation' objects>

fileno

Value of fileno

<member 'fileno' of 'SocketOperation' objects>

iocp_buff

Value of iocp_buff

<member 'iocp_buff' of 'ReadOperation' objects>

last_update

Value of last_update

<member 'last_update' of 'SocketOperation' objects>

len

Value of len

<member 'len' of 'SocketOperation' objects>

prio

Value of prio

<member 'prio' of 'Operation' objects>

req

Value of req

<member 'req' of 'ReadLine' objects>

run_first

Value of run_first

<member 'run_first' of 'SocketOperation' objects>

sock

Value of sock

<member 'sock' of 'SocketOperation' objects>

state

Value of state

<member 'state' of 'Operation' objects>

temp_buff

Value of temp_buff

<member 'temp_buff' of 'ReadOperation' objects>

trim

Value of trim

2000

weak_timeout

Value of weak_timeout

<member 'weak_timeout' of 'TimedOperation' objects>