quic

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package quic は、 QUIC を使用したトランスポートを提供するパッケージです。

Index

Constants

View Source
const (
	DefaultQueueSize = 32
)

Config のデフォルト値は以下のように定義されています。

Variables

This section is empty.

Functions

func Dial

Dialは、デフォルト設定を使ってトランスポート接続を開始します。

func DialWithConfig

func DialWithConfig(c transport.DialConfig, cc DialerConfig) (transport.Transport, error)

DialWithConfigは、トランスポート接続を開始します。

Types

type Config

type Config struct {
	// Connection は、QUICのコネクションです。
	// このフィールドを nil にすることはできません。
	Connection quic.Connection

	// QueueSize は、トランスポートとメッセージをやり取りする際のメッセージキューの長さです。
	// 0 に設定された場合は、 DefaultQueueSize の値が使用されます。
	QueueSize int

	// CompressConfig は、圧縮に関する設定です。
	CompressConfig compress.Config

	// ReadBufferExpiry は DATAGRAMメッセージのバッファ有効期限です。
	// 0 に設定された場合は、DefaultReadBufferExpiryが使用されます。
	ReadBufferExpiry time.Duration

	// NegotiationParams は、このトランスポートで事前ネゴシエーションされたパラメーターです。
	NegotiationParams NegotiationParams
}

Config は、トランスポートに関する設定です。

type Dialer

type Dialer struct {
	DialerConfig
}

Dialerは、QUICのトランスポートを接続します。

func NewDefaultDialer

func NewDefaultDialer() *Dialer

NewDefaultDialerは、デフォルト設定のDialerを返却します。

func NewDialer

func NewDialer(c DialerConfig) *Dialer

NewDialerは、Dialerを返却します。

func (*Dialer) Dial

Dialは、トランスポート接続を開始します。

type DialerConfig

type DialerConfig struct {
	// QueueSize は、トランスポートとメッセージをやり取りする際のメッセージキューの長さです。
	// 0 に設定された場合は、 DefaultQueueSize の値が使用されます。
	QueueSize int

	// TLSConfigは、TLS接続の設定です。
	//
	// TLSConfig.NextProtosは必ず、`iscp` に上書きします。
	TLSConfig *tls.Config
}

DialerConfigは、Dialerの設定です。

type NegotiationParams

type NegotiationParams struct {
	transport.NegotiationParams
}

NegotiationParamsは、トランスポートネゴシエーションのパラメータです。

func (*NegotiationParams) Marshal

func (p *NegotiationParams) Marshal() ([]byte, error)

Marshalは、ネゴシエーションパラメータをQUIC用にバイナリエンコードします。

func (*NegotiationParams) Unmarshal

func (p *NegotiationParams) Unmarshal(b []byte) error

Unmarshalは、ネゴシエーションパラメータをQUIC用にバイナリデコードします。

type Transport

type Transport struct {
	// contains filtered or unexported fields
}

Transportは、QUICのトランスポートです。

func New

func New(config Config) (*Transport, error)

New は、 QUIC 向けのトランスポートを生成します。

func (*Transport) AsUnreliable

func (t *Transport) AsUnreliable() (transport.UnreliableTransport, bool)

AsUnreliableは、トランスポートをUnreliableとして返却します。

トランスポートにQUICを選択した場合、信頼性のないトランスポートとしてはQUICDatagramが使用されます。

func (*Transport) Close

func (t *Transport) Close() error

Closeはトランスポートを閉じます。

func (*Transport) Name

func (t *Transport) Name() transport.Name

Nameはトランスポート名を返却します。

func (*Transport) NegotiationParams

func (t *Transport) NegotiationParams() transport.NegotiationParams

NegotiationParamsは、ネゴシエーションパラメータを返却します。

func (*Transport) Read

func (t *Transport) Read() ([]byte, error)

func (*Transport) RxBytesCounterValue

func (t *Transport) RxBytesCounterValue() uint64

RxBytesCounterValueは、読み込んだ総バイト数を返却します。

func (*Transport) TxBytesCounterValue

func (t *Transport) TxBytesCounterValue() uint64

TxBytesCounterValueは、書き込んだ総バイト数を返却します。

func (*Transport) Write

func (t *Transport) Write(m []byte) error

func (*Transport) WriteUnreliable

func (t *Transport) WriteUnreliable(m []byte) error

WriteUnreliableは、信頼性のないトランスポートへメッセージを読み込みます。

QUICの場合QUICDataGramを使用し、メッセージを書き込みます。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL