tree b7b24a03154bc9038056c384dc61815ea54d6b52
parent a4a87822432d936c446eca398392e46873ac57f0
author bnc <bnc@google.com> 1623419349 -0700
committer Copybara-Service <copybara-worker@google.com> 1623419409 -0700

Change GetServerConfig() to return const ref.

Change QuicTestClient::GetServerConfig() and SimpleQuicClient::GetServerConfig()
to return const ref instead of value in order to eliminate a copy.  This is only
used in one test file, where operator[] cannot be used any longer as it is not
constant.

Change QuicTestClient::GetServerConfig() to require that
QuicCryptoClientConfig::server_config_ to be set otherwise it crashes.  This is
safe since this method is only called by tests internally, and there are no
callers in Chrome.

Also remove unused QuicCryptoServerConfig::tag_value_map.

PiperOrigin-RevId: 378863306
