Base class for socket-bound futures.
Public Types | |
| using | List = async2::FutureList<&BaseSocketFuture::core_ > |
Public Member Functions | |
| BaseSocketFuture (const BaseSocketFuture &)=delete | |
| BaseSocketFuture & | operator= (const BaseSocketFuture &)=delete |
| BaseSocketFuture (BaseSocketFuture &&other) noexcept | |
| BaseSocketFuture & | operator= (BaseSocketFuture &&other) noexcept |
| bool | is_pendable () const |
| bool | is_complete () const |
| void | Wake () |
Protected Member Functions | |
| BaseSocketFuture (ReliableDatagramSocketImpl &socket) | |
| constexpr | BaseSocketFuture (async2::FutureState::Pending) |
| void | RemoveFromSocket () |
| IntrusivePtr< ReliableDatagramSocketImpl > | Finish () |
| void | MarkCompletedWhenSocketUnbound () |
| void | StoreSocket (ReliableDatagramSocketImpl &socket) |
| void | ClearSocket () |
| void | MoveSocket (BaseSocketFuture &other) |
| ReliableDatagramSocketImpl * | socket () |
| const ReliableDatagramSocketImpl * | socket () const |
| async2::FutureCore & | core () |
Friends | |
| class | ::pw::transport::ReliableDatagramSocketImpl |
| class | ::pw::transport::ReserveWriteFuture |
| class | ::pw::transport::CloseFuture |
|
inlineprotected |
Marks a future that is not bound to a socket (e.g. an immediately resolved future where socket_ == nullptr) as complete. Because the socket doubles as the lock provider, without one, lock safety analysis has to be disabled to access core_.