Home | History | Annotate | Download | only in quic

Lines Matching refs:IOVector

30 // IOVector is a helper class that makes it easier to work with POSIX vector I/O
36 // IOVector is a bookkeeping object that collects a description of buffers to
41 // buffer blocks are added to the IOVector is important to the client. The
44 // iovector.Append(p0, len0);
46 // iovector.Append(pn, lenn);
47 // int bytes_written = writev(fd, iovector.iovec(), iovector.Size());
49 // iovector.Consume(bytes_written);
52 // used to change the IOVector to only keep track of description of blocks of
55 // IOVector does not have any method to change the iovec entries that it
60 class NET_EXPORT_PRIVATE IOVector {
64 IOVector();
65 ~IOVector();
68 // IOVector.
74 // Appends at most max_bytes from iovec to the IOVector.
88 // Append another block to the IOVector. Since IOVector can be used for read
115 // Remove a number of bytes from the beginning of the IOVector. Since vector
119 // than the requested number if the IOVector contains less data).
146 // Clears the IOVector object to contain no blocks.
149 // Swap the guts of two IOVector.
150 void Swap(IOVector* other) { iovec_.swap(other->iovec_); }
152 // Returns the number of valid blocks in the IOVector (not the number of
156 // Returns the total storage used by the IOVector in number of blocks (not
160 // Returns true if there are no blocks in the IOVector.
164 // I/O operations. If the IOVector has no blocks appened, this function
172 // IOVector is empty, NULL is returned.
179 // Returns the total number of bytes in the IOVector.
189 // IOVector has value-semantics; copy and assignment are allowed.
192 // and assignment operators. Note that since IOVector does not own the