proxygen
folly::AsyncWriter Class Referenceabstract

#include <AsyncTransport.h>

Inheritance diagram for folly::AsyncWriter:
folly::AsyncPipeWriter folly::AsyncTransportWrapper folly::DecoratedAsyncTransportWrapper< folly::AsyncTransportWrapper > fizz::test::LocalTransport folly::AsyncSocket folly::DecoratedAsyncTransportWrapper< T > folly::test::MockAsyncTransport TestAsyncTransport folly::WriteChainAsyncTransportWrapper< folly::AsyncTransportWrapper > AsyncSocketImmediateRead folly::AsyncSSLSocket folly::test::MockAsyncSocket folly::WriteChainAsyncTransportWrapper< T > fizz::AsyncFizzBase folly::test::TestWriteChainAsyncTransportWrapper folly::MockAsyncSSLSocket folly::test::MockAsyncSSLSocket fizz::client::AsyncFizzClientT< fizz::client::test::MockClientStateMachineInstance > fizz::server::AsyncFizzServerT< fizz::server::test::MockServerStateMachineInstance > fizz::client::AsyncFizzClientT< SM > fizz::server::AsyncFizzServerT< SM > fizz::test::AsyncFizzBaseTest fizz::test::MockAsyncFizzBase fizz::client::test::MockAsyncFizzClient fizz::server::test::MockAsyncFizzServerT< SM >

Classes

class  WriteCallback
 

Public Member Functions

virtual void write (WriteCallback *callback, const void *buf, size_t bytes, WriteFlags flags=WriteFlags::NONE)=0
 
virtual void writev (WriteCallback *callback, const iovec *vec, size_t count, WriteFlags flags=WriteFlags::NONE)=0
 
virtual void writeChain (WriteCallback *callback, std::unique_ptr< IOBuf > &&buf, WriteFlags flags=WriteFlags::NONE)=0
 

Protected Member Functions

virtual ~AsyncWriter ()=default
 

Detailed Description

Definition at line 617 of file AsyncTransport.h.

Constructor & Destructor Documentation

virtual folly::AsyncWriter::~AsyncWriter ( )
protectedvirtualdefault

Member Function Documentation

virtual void folly::AsyncWriter::write ( WriteCallback callback,
const void *  buf,
size_t  bytes,
WriteFlags  flags = WriteFlags::NONE 
)
pure virtual

If you supply a non-null WriteCallback, exactly one of writeSuccess() or writeErr() will be invoked when the write completes. If you supply the same WriteCallback object for multiple write() calls, it will be invoked exactly once per call. The only way to cancel outstanding write requests is to close the socket (e.g., with closeNow() or shutdownWriteNow()). When closing the socket this way, writeErr() will still be invoked once for each outstanding write operation.

Implemented in folly::AsyncTransportWrapper, folly::AsyncSocket, folly::AsyncPipeWriter, fizz::test::LocalTransport, folly::DecoratedAsyncTransportWrapper< T >, folly::DecoratedAsyncTransportWrapper< folly::AsyncTransportWrapper >, folly::WriteChainAsyncTransportWrapper< T >, and folly::WriteChainAsyncTransportWrapper< folly::AsyncTransportWrapper >.

virtual void folly::AsyncWriter::writeChain ( WriteCallback callback,
std::unique_ptr< IOBuf > &&  buf,
WriteFlags  flags = WriteFlags::NONE 
)
pure virtual

If you supply a non-null WriteCallback, exactly one of writeSuccess() or writeErr() will be invoked when the write completes. If you supply the same WriteCallback object for multiple write() calls, it will be invoked exactly once per call. The only way to cancel outstanding write requests is to close the socket (e.g., with closeNow() or shutdownWriteNow()). When closing the socket this way, writeErr() will still be invoked once for each outstanding write operation.

Implemented in folly::AsyncTransportWrapper, folly::AsyncSocket, folly::AsyncPipeWriter, fizz::test::LocalTransport, fizz::AsyncFizzBase, folly::WriteChainAsyncTransportWrapper< T >, folly::WriteChainAsyncTransportWrapper< folly::AsyncTransportWrapper >, folly::DecoratedAsyncTransportWrapper< T >, folly::DecoratedAsyncTransportWrapper< folly::AsyncTransportWrapper >, folly::test::TestWriteChainAsyncTransportWrapper, and folly::test::MockAsyncTransport.

virtual void folly::AsyncWriter::writev ( WriteCallback callback,
const iovec *  vec,
size_t  count,
WriteFlags  flags = WriteFlags::NONE 
)
pure virtual

If you supply a non-null WriteCallback, exactly one of writeSuccess() or writeErr() will be invoked when the write completes. If you supply the same WriteCallback object for multiple write() calls, it will be invoked exactly once per call. The only way to cancel outstanding write requests is to close the socket (e.g., with closeNow() or shutdownWriteNow()). When closing the socket this way, writeErr() will still be invoked once for each outstanding write operation.

Implemented in folly::AsyncTransportWrapper, folly::AsyncSocket, folly::AsyncPipeWriter, fizz::test::LocalTransport, folly::DecoratedAsyncTransportWrapper< T >, folly::DecoratedAsyncTransportWrapper< folly::AsyncTransportWrapper >, folly::WriteChainAsyncTransportWrapper< T >, and folly::WriteChainAsyncTransportWrapper< folly::AsyncTransportWrapper >.


The documentation for this class was generated from the following file: