// Copyright 2026 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package http2

import (
	
	
)

func ( *ClientConn) ( *http.Request) (*http.Response, error) {
	return .roundTrip()
}

// SetDoNotReuse marks cc as not reusable for future HTTP requests.
func ( *ClientConn) () {
	.setDoNotReuse()
}

// CanTakeNewRequest reports whether the connection can take a new request,
// meaning it has not been closed or received or sent a GOAWAY.
//
// If the caller is going to immediately make a new request on this
// connection, use ReserveNewRequest instead.
func ( *ClientConn) () bool {
	return .canTakeNewRequest()
}

// ReserveNewRequest is like CanTakeNewRequest but also reserves a
// concurrent stream in cc. The reservation is decremented on the
// next call to RoundTrip.
func ( *ClientConn) () bool {
	return .reserveNewRequest()
}

// State returns a snapshot of cc's state.
func ( *ClientConn) () ClientConnState {
	return .state()
}

// Shutdown gracefully closes the client connection, waiting for running streams to complete.
func ( *ClientConn) ( context.Context) error {
	return .shutdown()
}

// Close closes the client connection immediately.
//
// In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead.
func ( *ClientConn) () error {
	return .close()
}

// Ping sends a PING frame to the server and waits for the ack.
func ( *ClientConn) ( context.Context) error {
	return .ping()
}