Streamline the use of QUICHE_EXPORT macros in quic/core.
Previously, we had files that were in core/ that were not compiled in Chromium quiche component since they were not used there; because of that, those had to be manually tagged as QUIC_NO_EXPORT and be kept in sync with the structure of Chromium build files.
This CL changes this to a much simpler approach of "everything in quic/core except for I/O directories uses QUICHE_EXPORT". This works because:
(1) The linker will remove unused code anyways, so binary size should not be a concern.
(2) We already build all of this code for tests, so it is neutral in terms of build time.
(3) All of this code is already either cross-platform, or does not build for Windows (which is the only platform where QUICHE_EXPORT can cause things to fail to compile).
This CL is a google3 counterpart of build file refactor in https://chromium-review.googlesource.com/c/chromium/src/+/4848368
PiperOrigin-RevId: 563502086
diff --git a/quiche/quic/core/tls_client_handshaker.h b/quiche/quic/core/tls_client_handshaker.h
index dd7e393..eaea623 100644
--- a/quiche/quic/core/tls_client_handshaker.h
+++ b/quiche/quic/core/tls_client_handshaker.h
@@ -23,7 +23,7 @@
// An implementation of QuicCryptoClientStream::HandshakerInterface which uses
// TLS 1.3 for the crypto handshake protocol.
-class QUIC_EXPORT_PRIVATE TlsClientHandshaker
+class QUICHE_EXPORT TlsClientHandshaker
: public TlsHandshaker,
public QuicCryptoClientStream::HandshakerInterface,
public TlsClientConnection::Delegate {