| 90 | } |
| 91 | |
| 92 | VIO * |
| 93 | INKVConnInternal::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *buf, bool owner) |
| 94 | { |
| 95 | ink_assert(!owner); |
| 96 | m_write_vio.op = VIO::WRITE; |
| 97 | m_write_vio.set_continuation(c); |
| 98 | m_write_vio.nbytes = nbytes; |
| 99 | m_write_vio.ndone = 0; |
| 100 | m_write_vio.vc_server = this; |
| 101 | |
| 102 | if (buf) { |
| 103 | m_write_vio.set_reader(buf); |
| 104 | if (m_write_vio.get_reader()->read_avail() > 0) { |
| 105 | if (ink_atomic_increment((int *)&m_event_count, 1) < 0) { |
| 106 | ink_assert(!"not reached"); |
| 107 | } |
| 108 | eventProcessor.schedule_imm(this, ET_NET); |
| 109 | } |
| 110 | } else { |
| 111 | m_write_vio.buffer.clear(); |
| 112 | } |
| 113 | |
| 114 | return &m_write_vio; |
| 115 | } |
| 116 | |
| 117 | void |
| 118 | INKVConnInternal::do_io_transform(VConnection *vc) |
no test coverage detected