int SpdyStream::onWrite() { LS_DBG_L(this, "SpdyStream::onWrite()"); if (m_pSpdyConn->isOutBufFull()) return 0; if (m_iWindowOut <= 0) return 0; setFlag(HIO_FLAG_BUFF_FULL, 0); if (isWantWrite()) getHandler()->onWriteEx(); if (isWantWrite()) m_pSpdyConn->continueWrite(); return 0; }
int DummySpdyConnStream::eventLoop() { int lenInBuff = 0; int length; while( m_running ) { if(m_InputBuff.empty()) { length = m_Datalen - lenInBuff; if(length == 0) { m_running = 0; continue; } if(length >80) length = 80; m_InputBuff.append(m_pDatabuff + lenInBuff, length); lenInBuff += length; } if ( isWantRead() && !m_InputBuff.empty()) { getHandler()->onReadEx(); } if ( isWantWrite() ) getHandler()->onWriteEx(); } return 0; }
int SpdyStream::onInitConnected() { getHandler()->onInitConnected(); if (isWantRead()) getHandler()->onReadEx(); if (isWantWrite()) getHandler()->onWriteEx(); return 0; }
int SpdyStream::onInitConnected() { getHandler()->onInitConnected(); if (isWantRead()) getHandler()->onReadEx(); if (isWantWrite()) if (next() == NULL) m_pSpdyConn->add2PriorityQue(this); return 0; }
int SpdyStream::adjWindowOut(int32_t n) { if (isFlowCtrl()) { m_iWindowOut += n; LS_DBG_L(this, "Stream WINDOW_UPDATE: %d, window size: %d ", n, m_iWindowOut); if (m_iWindowOut < 0) { //window overflow return LS_FAIL; } else if (isWantWrite()) continueWrite(); } return 0; }