26 class ConnectionManager;
57 virtual void describe(std::ostream& os)
const = 0;
62 virtual bool isBusy()
const = 0;
69 return std::chrono::milliseconds(0);
131 std::chrono::milliseconds
timeout);
143 SENT_NOTIFY_PENDING_SHUTDOWN,
144 SENT_CLOSE_WHEN_IDLE,
virtual void notifyPendingShutdown()=0
virtual void scheduleTimeout(folly::HHWheelTimer::Callback *callback, std::chrono::milliseconds timeout)
virtual void onActivated(ManagedConnection &conn)=0
folly::SafeIntrusiveListHook listHook_
void fireNotifyPendingShutdown()
requires E e noexcept(noexcept(s.error(std::move(e))))
virtual void dropConnection()=0
~ManagedConnection() override
void resetTimeoutTo(std::chrono::milliseconds)
void setConnectionManager(ConnectionManager *mgr)
virtual void onDeactivated(ManagedConnection &conn)=0
virtual void describe(std::ostream &os) const =0
void fireCloseWhenIdle(bool force_to_close=false)
ConnectionManager * getConnectionManager()
void timeoutExpired() noexceptoverride=0
virtual ~Callback()=default
virtual bool isBusy() const =0
virtual void resetTimeout()
boost::intrusive::list_member_hook< boost::intrusive::link_mode< boost::intrusive::safe_link >> SafeIntrusiveListHook
ConnectionManager * connectionManager_
std::ostream & operator<<(std::ostream &os, const ManagedConnection &conn)
virtual std::chrono::milliseconds getIdleTime() const
virtual void closeWhenIdle()=0
virtual void dumpConnectionState(uint8_t loglevel)=0