websocket_deflate_predictor_impl.h 982 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2013 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. #ifndef NET_WEBSOCKETS_WEBSOCKET_DEFLATE_PREDICTOR_IMPL_H_
  5. #define NET_WEBSOCKETS_WEBSOCKET_DEFLATE_PREDICTOR_IMPL_H_
  6. #include <stddef.h>
  7. #include <memory>
  8. #include <vector>
  9. #include "net/base/net_export.h"
  10. #include "net/websockets/websocket_deflate_predictor.h"
  11. namespace net {
  12. struct WebSocketFrame;
  13. class NET_EXPORT_PRIVATE WebSocketDeflatePredictorImpl
  14. : public WebSocketDeflatePredictor {
  15. public:
  16. ~WebSocketDeflatePredictorImpl() override = default;
  17. Result Predict(const std::vector<std::unique_ptr<WebSocketFrame>>& frames,
  18. size_t frame_index) override;
  19. void RecordInputDataFrame(const WebSocketFrame* frame) override;
  20. void RecordWrittenDataFrame(const WebSocketFrame* frame) override;
  21. };
  22. } // namespace net
  23. #endif // NET_WEBSOCKETS_WEBSOCKET_DEFLATE_PREDICTOR_IMPL_H_