var clientConnectionCounter …
var metadataFromOutgoingContextRaw …
type http2Client …
func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr resolver.Address, useProxy bool, grpcUA string) (net.Conn, error) { … }
func isTemporary(err error) bool { … }
func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts ConnectOptions, onClose func(GoAwayReason)) (_ *http2Client, err error) { … }
func (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream { … }
func (t *http2Client) getPeer() *peer.Peer { … }
func (t *http2Client) outgoingGoAwayHandler(g *goAway) (bool, error) { … }
func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr) ([]hpack.HeaderField, error) { … }
func (t *http2Client) createAudience(callHdr *CallHdr) string { … }
func (t *http2Client) getTrAuthData(ctx context.Context, audience string) (map[string]string, error) { … }
func (t *http2Client) getCallAuthData(ctx context.Context, audience string, callHdr *CallHdr) (map[string]string, error) { … }
type NewStreamError …
func (e NewStreamError) Error() string { … }
func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error) { … }
func (t *http2Client) CloseStream(s *Stream, err error) { … }
func (t *http2Client) closeStream(s *Stream, err error, rst bool, rstCode http2.ErrCode, st *status.Status, mdata map[string][]string, eosReceived bool) { … }
func (t *http2Client) Close(err error) { … }
func (t *http2Client) GracefulClose() { … }
func (t *http2Client) Write(s *Stream, hdr []byte, data []byte, opts *Options) error { … }
func (t *http2Client) getStream(f http2.Frame) *Stream { … }
func (t *http2Client) adjustWindow(s *Stream, n uint32) { … }
func (t *http2Client) updateWindow(s *Stream, n uint32) { … }
func (t *http2Client) updateFlowControl(n uint32) { … }
func (t *http2Client) handleData(f *http2.DataFrame) { … }
func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) { … }
func (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) { … }
func (t *http2Client) handlePing(f *http2.PingFrame) { … }
func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) { … }
func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) { … }
func (t *http2Client) GetGoAwayReason() (GoAwayReason, string) { … }
func (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) { … }
func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) { … }
func (t *http2Client) readServerPreface() error { … }
func (t *http2Client) reader(errCh chan<- error) { … }
func minTime(a, b time.Duration) time.Duration { … }
func (t *http2Client) keepalive() { … }
func (t *http2Client) Error() <-chan struct{ … }
func (t *http2Client) GoAway() <-chan struct{ … }
func (t *http2Client) socketMetrics() *channelz.EphemeralSocketMetrics { … }
func (t *http2Client) RemoteAddr() net.Addr { … }
func (t *http2Client) IncrMsgSent() { … }
func (t *http2Client) IncrMsgRecv() { … }
func (t *http2Client) getOutFlowWindow() int64 { … }
func (t *http2Client) stateForTesting() transportState { … }