Add QUICHE_EXPORT_PRIVATE and QUICHE_NO_EXPORT as necessary. This is to make presubmit rules in METADATA pass, otherwise unrelated changes to these files will be blocked. PiperOrigin-RevId: 442603626
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h index 32f0678..51bebc4 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h
@@ -10,7 +10,7 @@ #if defined(_WIN32) // See <https://pubs.opengroup.org/onlinepubs/009604599/basedefs/sys/uio.h.html> -struct QUICHE_EXPORT_PRIVAATE iovec { +struct QUICHE_EXPORT_PRIVATE iovec { void* iov_base; size_t iov_len; };
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h index 4b414e7..fab7f9c 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h
@@ -16,12 +16,13 @@ #include <string> #include "absl/base/attributes.h" +#include "quiche/common/platform/api/quiche_export.h" namespace quiche { // NoopLogSink provides a log sink that does not put the data that it logs // anywhere. -class NoopLogSink { +class QUICHE_EXPORT_PRIVATE NoopLogSink { public: NoopLogSink() {} @@ -43,7 +44,7 @@ // We need to actually implement LOG(FATAL), otherwise some functions will fail // to compile due to the "failed to return value from non-void function" error. -class FatalLogSink : public NoopLogSink { +class QUICHE_EXPORT_PRIVATE FatalLogSink : public NoopLogSink { public: ABSL_ATTRIBUTE_NORETURN ~FatalLogSink() { abort(); } };
diff --git a/quiche/common/quiche_circular_deque.h b/quiche/common/quiche_circular_deque.h index bd319b1..8f17e96 100644 --- a/quiche/common/quiche_circular_deque.h +++ b/quiche/common/quiche_circular_deque.h
@@ -733,7 +733,7 @@ // with the fields we had to store anyway, via inheriting from the allocator, // so this allocator instance doesn't consume any storage when its type has no // data members. - struct AllocatorAndData : private allocator_type { + struct QUICHE_EXPORT_PRIVATE AllocatorAndData : private allocator_type { explicit AllocatorAndData(const allocator_type& alloc) : allocator_type(alloc) {}
diff --git a/quiche/http2/decoder/frame_decoder_state_test_util.h b/quiche/http2/decoder/frame_decoder_state_test_util.h index b690040..13a08d3 100644 --- a/quiche/http2/decoder/frame_decoder_state_test_util.h +++ b/quiche/http2/decoder/frame_decoder_state_test_util.h
@@ -8,11 +8,12 @@ #include "quiche/http2/decoder/frame_decoder_state.h" #include "quiche/http2/http2_structures.h" #include "quiche/http2/tools/random_decoder_test.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { namespace test { -class FrameDecoderStatePeer { +class QUICHE_NO_EXPORT FrameDecoderStatePeer { public: // Randomizes (i.e. corrupts) the fields of the FrameDecoderState. // PayloadDecoderBaseTest::StartDecoding calls this before passing the first
diff --git a/quiche/http2/decoder/http2_frame_decoder_listener.h b/quiche/http2/decoder/http2_frame_decoder_listener.h index ad6bc5f..13f1784 100644 --- a/quiche/http2/decoder/http2_frame_decoder_listener.h +++ b/quiche/http2/decoder/http2_frame_decoder_listener.h
@@ -33,12 +33,13 @@ #include "quiche/http2/http2_constants.h" #include "quiche/http2/http2_structures.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { // TODO(jamessynge): Consider sorting the methods by frequency of call, if that // helps at all. -class Http2FrameDecoderListener { +class QUICHE_EXPORT_PRIVATE Http2FrameDecoderListener { public: Http2FrameDecoderListener() {} virtual ~Http2FrameDecoderListener() {} @@ -315,7 +316,8 @@ }; // Do nothing for each call. Useful for ignoring a frame that is invalid. -class Http2FrameDecoderNoOpListener : public Http2FrameDecoderListener { +class QUICHE_EXPORT_PRIVATE Http2FrameDecoderNoOpListener + : public Http2FrameDecoderListener { public: Http2FrameDecoderNoOpListener() {} ~Http2FrameDecoderNoOpListener() override {}
diff --git a/quiche/http2/decoder/http2_frame_decoder_listener_test_util.h b/quiche/http2/decoder/http2_frame_decoder_listener_test_util.h index a109d1d..86beb04 100644 --- a/quiche/http2/decoder/http2_frame_decoder_listener_test_util.h +++ b/quiche/http2/decoder/http2_frame_decoder_listener_test_util.h
@@ -12,12 +12,14 @@ #include "quiche/http2/decoder/http2_frame_decoder_listener.h" #include "quiche/http2/http2_constants.h" #include "quiche/http2/http2_structures.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { // Fail if any of the methods are called. Allows a test to override only the // expected calls. -class FailingHttp2FrameDecoderListener : public Http2FrameDecoderListener { +class QUICHE_NO_EXPORT FailingHttp2FrameDecoderListener + : public Http2FrameDecoderListener { public: FailingHttp2FrameDecoderListener(); ~FailingHttp2FrameDecoderListener() override; @@ -82,7 +84,8 @@ // HTTP2_VLOG's all the calls it receives, and forwards those calls to an // optional listener. -class LoggingHttp2FrameDecoderListener : public Http2FrameDecoderListener { +class QUICHE_NO_EXPORT LoggingHttp2FrameDecoderListener + : public Http2FrameDecoderListener { public: LoggingHttp2FrameDecoderListener(); explicit LoggingHttp2FrameDecoderListener(Http2FrameDecoderListener* wrapped);
diff --git a/quiche/http2/decoder/http2_structure_decoder_test_util.h b/quiche/http2/decoder/http2_structure_decoder_test_util.h index 32145aa..eb9105d 100644 --- a/quiche/http2/decoder/http2_structure_decoder_test_util.h +++ b/quiche/http2/decoder/http2_structure_decoder_test_util.h
@@ -6,13 +6,13 @@ #define QUICHE_HTTP2_DECODER_HTTP2_STRUCTURE_DECODER_TEST_UTIL_H_ #include "quiche/http2/decoder/http2_structure_decoder.h" - #include "quiche/http2/test_tools/http2_random.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { namespace test { -class Http2StructureDecoderPeer { +class QUICHE_NO_EXPORT Http2StructureDecoderPeer { public: // Overwrite the Http2StructureDecoder instance with random values. static void Randomize(Http2StructureDecoder* p, Http2Random* rng);
diff --git a/quiche/http2/hpack/decoder/hpack_string_collector.h b/quiche/http2/hpack/decoder/hpack_string_collector.h index 270c8a5..8134b81 100644 --- a/quiche/http2/hpack/decoder/hpack_string_collector.h +++ b/quiche/http2/hpack/decoder/hpack_string_collector.h
@@ -14,6 +14,7 @@ #include "absl/strings/string_view.h" #include "quiche/http2/hpack/decoder/hpack_string_decoder_listener.h" +#include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_test.h" namespace http2 { @@ -21,7 +22,8 @@ // Records the callbacks associated with a decoding a string; must // call Clear() between decoding successive strings. -struct HpackStringCollector : public HpackStringDecoderListener { +struct QUICHE_NO_EXPORT HpackStringCollector + : public HpackStringDecoderListener { enum CollectorState { kGenesis, kStarted, @@ -55,7 +57,8 @@ bool operator!=(const HpackStringCollector& a, const HpackStringCollector& b); -std::ostream& operator<<(std::ostream& out, const HpackStringCollector& v); +QUICHE_NO_EXPORT std::ostream& operator<<(std::ostream& out, + const HpackStringCollector& v); } // namespace test } // namespace http2
diff --git a/quiche/http2/hpack/huffman/huffman_spec_tables.h b/quiche/http2/hpack/huffman/huffman_spec_tables.h index d1b144b..1c1b500 100644 --- a/quiche/http2/hpack/huffman/huffman_spec_tables.h +++ b/quiche/http2/hpack/huffman/huffman_spec_tables.h
@@ -9,9 +9,11 @@ #include <cstdint> +#include "quiche/common/platform/api/quiche_export.h" + namespace http2 { -struct HuffmanSpecTables { +struct QUICHE_EXPORT_PRIVATE HuffmanSpecTables { // Number of bits in the encoding of each symbol (byte). static const uint8_t kCodeLengths[257];
diff --git a/quiche/http2/test_tools/frame_parts_collector.h b/quiche/http2/test_tools/frame_parts_collector.h index 28ee06b..ccb6142 100644 --- a/quiche/http2/test_tools/frame_parts_collector.h +++ b/quiche/http2/test_tools/frame_parts_collector.h
@@ -17,11 +17,13 @@ #include "quiche/http2/decoder/http2_frame_decoder_listener_test_util.h" #include "quiche/http2/http2_structures.h" #include "quiche/http2/test_tools/frame_parts.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { namespace test { -class FramePartsCollector : public FailingHttp2FrameDecoderListener { +class QUICHE_NO_EXPORT FramePartsCollector + : public FailingHttp2FrameDecoderListener { public: FramePartsCollector(); ~FramePartsCollector() override;
diff --git a/quiche/http2/test_tools/http2_random.h b/quiche/http2/test_tools/http2_random.h index 4fe2a51..7682c7f 100644 --- a/quiche/http2/test_tools/http2_random.h +++ b/quiche/http2/test_tools/http2_random.h
@@ -12,6 +12,7 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { namespace test { @@ -19,7 +20,7 @@ // The random number generator used for unit tests. Since the algorithm is // deterministic and fixed, this can be used to reproduce flakes in the unit // tests caused by specific random values. -class Http2Random { +class QUICHE_EXPORT_PRIVATE Http2Random { public: Http2Random();
diff --git a/quiche/http2/tools/http2_frame_builder.h b/quiche/http2/tools/http2_frame_builder.h index e0682dc..d0ec441 100644 --- a/quiche/http2/tools/http2_frame_builder.h +++ b/quiche/http2/tools/http2_frame_builder.h
@@ -21,11 +21,12 @@ #include "absl/strings/string_view.h" #include "quiche/http2/http2_constants.h" #include "quiche/http2/http2_structures.h" +#include "quiche/common/platform/api/quiche_export.h" namespace http2 { namespace test { -class Http2FrameBuilder { +class QUICHE_NO_EXPORT Http2FrameBuilder { public: Http2FrameBuilder(Http2FrameType type, uint8_t flags, uint32_t stream_id); explicit Http2FrameBuilder(const Http2FrameHeader& v);
diff --git a/quiche/spdy/core/hpack/hpack_constants.h b/quiche/spdy/core/hpack/hpack_constants.h index 6c91a47..ca57ea0 100644 --- a/quiche/spdy/core/hpack/hpack_constants.h +++ b/quiche/spdy/core/hpack/hpack_constants.h
@@ -19,13 +19,13 @@ // An HpackPrefix signifies |bits| stored in the top |bit_size| bits // of an octet. -struct HpackPrefix { +struct QUICHE_EXPORT_PRIVATE HpackPrefix { uint8_t bits; size_t bit_size; }; // Represents a symbol and its Huffman code (stored in most-significant bits). -struct HpackHuffmanSymbol { +struct QUICHE_EXPORT_PRIVATE HpackHuffmanSymbol { uint32_t code; uint8_t length; uint16_t id; @@ -33,7 +33,7 @@ // An entry in the static table. Must be a POD in order to avoid static // initializers, i.e. no user-defined constructors or destructors. -struct HpackStaticEntry { +struct QUICHE_EXPORT_PRIVATE HpackStaticEntry { const char* const name; const size_t name_len; const char* const value;
diff --git a/quiche/spdy/core/http2_header_block_hpack_listener.h b/quiche/spdy/core/http2_header_block_hpack_listener.h index 795543a..0c21632 100644 --- a/quiche/spdy/core/http2_header_block_hpack_listener.h +++ b/quiche/spdy/core/http2_header_block_hpack_listener.h
@@ -3,6 +3,7 @@ #include "absl/strings/string_view.h" #include "quiche/http2/hpack/decoder/hpack_decoder_listener.h" +#include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/spdy/core/spdy_header_block.h" @@ -10,7 +11,8 @@ // This class simply gathers the key-value pairs emitted by an HpackDecoder in // a SpdyHeaderBlock. -class Http2HeaderBlockHpackListener : public http2::HpackDecoderListener { +class QUICHE_EXPORT_PRIVATE Http2HeaderBlockHpackListener + : public http2::HpackDecoderListener { public: Http2HeaderBlockHpackListener() {}
diff --git a/quiche/spdy/core/metadata_extension.h b/quiche/spdy/core/metadata_extension.h index a27ad16..4eaf95c 100644 --- a/quiche/spdy/core/metadata_extension.h +++ b/quiche/spdy/core/metadata_extension.h
@@ -6,6 +6,7 @@ #include <vector> #include "absl/container/flat_hash_map.h" +#include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" #include "quiche/spdy/core/spdy_header_block.h" #include "quiche/spdy/core/spdy_protocol.h" @@ -19,7 +20,8 @@ // a setting with a setting ID of kMetadataExtensionId and a value of 1. // // Metadata is represented as a HPACK header block with literal encoding. -class MetadataVisitor : public spdy::ExtensionVisitorInterface { +class QUICHE_EXPORT_PRIVATE MetadataVisitor + : public spdy::ExtensionVisitorInterface { public: using MetadataPayload = spdy::SpdyHeaderBlock; @@ -89,11 +91,11 @@ }; // A class that serializes metadata blocks as sequences of frames. -class MetadataSerializer { +class QUICHE_EXPORT_PRIVATE MetadataSerializer { public: using MetadataPayload = spdy::SpdyHeaderBlock; - class FrameSequence { + class QUICHE_EXPORT_PRIVATE FrameSequence { public: virtual ~FrameSequence() {}
diff --git a/quiche/spdy/core/spdy_simple_arena.h b/quiche/spdy/core/spdy_simple_arena.h index 99a6f74..a423a79 100644 --- a/quiche/spdy/core/spdy_simple_arena.h +++ b/quiche/spdy/core/spdy_simple_arena.h
@@ -16,7 +16,7 @@ // Not thread-safe. class QUICHE_EXPORT_PRIVATE SpdySimpleArena { public: - class Status { + class QUICHE_EXPORT_PRIVATE Status { private: friend class SpdySimpleArena; size_t bytes_allocated_; @@ -52,7 +52,7 @@ Status status() const { return status_; } private: - struct Block { + struct QUICHE_EXPORT_PRIVATE Block { std::unique_ptr<char[]> data; size_t size = 0; size_t used = 0;
diff --git a/quiche/spdy/core/zero_copy_output_buffer.h b/quiche/spdy/core/zero_copy_output_buffer.h index 3f35bab..2536979 100644 --- a/quiche/spdy/core/zero_copy_output_buffer.h +++ b/quiche/spdy/core/zero_copy_output_buffer.h
@@ -7,9 +7,11 @@ #include <cstdint> +#include "quiche/common/platform/api/quiche_export.h" + namespace spdy { -class ZeroCopyOutputBuffer { +class QUICHE_EXPORT_PRIVATE ZeroCopyOutputBuffer { public: virtual ~ZeroCopyOutputBuffer() {}