const http2MaxFrameLen …
const http2InitHeaderTableSize …
var clientPreface …
var http2ErrConvTab …
var HTTPStatusConvTab …
var grpcStatusDetailsBinHeader …
func isReservedHeader(hdr string) bool { … }
func isWhitelistedHeader(hdr string) bool { … }
const binHdrSuffix …
func encodeBinHeader(v []byte) string { … }
func decodeBinHeader(v string) ([]byte, error) { … }
func encodeMetadataHeader(k, v string) string { … }
func decodeMetadataHeader(k, v string) (string, error) { … }
type timeoutUnit …
const hour …
const minute …
const second …
const millisecond …
const microsecond …
const nanosecond …
func timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) { … }
func decodeTimeout(s string) (time.Duration, error) { … }
const spaceByte …
const tildeByte …
const percentByte …
func encodeGrpcMessage(msg string) string { … }
func encodeGrpcMessageUnchecked(msg string) string { … }
func decodeGrpcMessage(msg string) string { … }
func decodeGrpcMessageUnchecked(msg string) string { … }
type bufWriter …
func newBufWriter(conn net.Conn, batchSize int, pool *sync.Pool) *bufWriter { … }
func (w *bufWriter) Write(b []byte) (n int, err error) { … }
func (w *bufWriter) Flush() error { … }
func (w *bufWriter) flushKeepBuffer() error { … }
type ioError …
func (i ioError) Unwrap() error { … }
func isIOError(err error) bool { … }
func toIOError(err error) error { … }
type framer …
var writeBufferPoolMap …
var writeBufferMutex …
func newFramer(conn net.Conn, writeBufferSize, readBufferSize int, sharedWriteBuffer bool, maxHeaderListSize uint32) *framer { … }
func getWriteBufferPool(size int) *sync.Pool { … }
func parseDialTarget(target string) (string, string) { … }