1 // Copyright (c) 2019 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 #ifndef QUICHE_QUIC_QBONE_QBONE_CLIENT_INTERFACE_H_ 6 #define QUICHE_QUIC_QBONE_QBONE_CLIENT_INTERFACE_H_ 7 8 #include <cstdint> 9 10 #include "absl/strings/string_view.h" 11 12 namespace quic { 13 14 // An interface that includes methods to interact with a QBONE client. 15 class QboneClientInterface { 16 public: ~QboneClientInterface()17 virtual ~QboneClientInterface() {} 18 // Accepts a given packet from the network and sends the packet down to the 19 // QBONE connection. 20 virtual void ProcessPacketFromNetwork(absl::string_view packet) = 0; 21 }; 22 23 } // namespace quic 24 25 #endif // QUICHE_QUIC_QBONE_QBONE_CLIENT_INTERFACE_H_ 26