1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // This is an interface for all objects that want to be notified that 6 // the underlying UDP socket is available for writing (not write blocked 7 // anymore). 8 9 #ifndef QUICHE_QUIC_CORE_QUIC_BLOCKED_WRITER_INTERFACE_H_ 10 #define QUICHE_QUIC_CORE_QUIC_BLOCKED_WRITER_INTERFACE_H_ 11 12 #include "quiche/quic/platform/api/quic_export.h" 13 14 namespace quic { 15 16 class QUICHE_EXPORT QuicBlockedWriterInterface { 17 public: ~QuicBlockedWriterInterface()18 virtual ~QuicBlockedWriterInterface() {} 19 20 // Called by the PacketWriter when the underlying socket becomes writable 21 // so that the BlockedWriter can go ahead and try writing. 22 virtual void OnBlockedWriterCanWrite() = 0; 23 24 virtual bool IsWriterBlocked() const = 0; 25 }; 26 27 } // namespace quic 28 29 #endif // QUICHE_QUIC_CORE_QUIC_BLOCKED_WRITER_INTERFACE_H_ 30