Documentation ¶
Overview ¶
Package webtransport は、 WebTransport を使用したトランスポートを提供するパッケージです。
Index ¶
- Constants
- func Dial(c transport.DialConfig) (transport.Transport, error)
- func DialWithConfig(c transport.DialConfig, cc DialerConfig) (transport.Transport, error)
- type Config
- type Dialer
- type DialerConfig
- type NegotiationParams
- type StaticTokenSource
- type Token
- type TokenSource
- type Transport
- func (t *Transport) AsUnreliable() (transport.UnreliableTransport, bool)
- func (t *Transport) Close() error
- func (t *Transport) Name() transport.Name
- func (t *Transport) NegotiationParams() transport.NegotiationParams
- func (t *Transport) Read() ([]byte, error)
- func (t *Transport) ReadUnreliable() ([]byte, error)
- func (t *Transport) RxBytesCounterValue() uint64
- func (t *Transport) TxBytesCounterValue() uint64
- func (t *Transport) Write(m []byte) error
- func (t *Transport) WriteUnreliable(m []byte) error
Constants ¶
const (
DefaultQueueSize = 32
)
Config のデフォルト値は以下のように定義されています。
Variables ¶
This section is empty.
Functions ¶
func Dial ¶
func Dial(c transport.DialConfig) (transport.Transport, error)
Dialは、デフォルト設定を使ってトランスポート接続します。
func DialWithConfig ¶
func DialWithConfig(c transport.DialConfig, cc DialerConfig) (transport.Transport, error)
Dialは、トランスポート接続します。
Types ¶
type Config ¶
type Config struct { // Connection は、QUICのコネクションです。 // このフィールドを nil にすることはできません。 Connection *webtransgo.Session // QueueSize は、トランスポートとメッセージをやり取りする際のメッセージキューの長さです。 // 0 に設定された場合は、 DefaultQueueSize の値が使用されます。 QueueSize int // CompressConfig は、圧縮に関する設定です。 CompressConfig compress.Config // ReadBufferExpiry は DATAGRAMメッセージのバッファ有効期限です。 // 0 に設定された場合は、DefaultReadBufferExpiryが使用されます。 ReadBufferExpiry time.Duration // NegotiationParams は、このトランスポートで事前ネゴシエーションされたパラメーターです。 NegotiationParams NegotiationParams }
Config は、トランスポートに関する設定です。
type DialerConfig ¶
type DialerConfig struct { // QueueSize は、トランスポートとメッセージをやり取りする際のメッセージキューの長さです。 // 0 に設定された場合は、 DefaultQueueSize の値が使用されます。 QueueSize int // Pathはパスを指定します Path string // TLSConfigは TLSの設定です。 TLSConfig *tls.Config // TokenSourceは、接続時に認証ヘッダーへ設定するトークンを取得します。 // Dialerは取得されたトークンを認証ヘッダーとして利用します。 TokenSource TokenSource }
DialerConfigは、Dialerの設定です。
type NegotiationParams ¶
type NegotiationParams struct {
transport.NegotiationParams
}
NegotiationParamsは、トランスポートネゴシエーションのパラメータです。
func (*NegotiationParams) MarshalURLValues ¶
func (p *NegotiationParams) MarshalURLValues() (url.Values, error)
MarshalURLValuesは、ネゴシエーションパラメータをurl.Valuesにエンコードします。
func (*NegotiationParams) UnmarshalURLValues ¶
func (p *NegotiationParams) UnmarshalURLValues(values url.Values) error
UnmarshalURLValuesは、ネゴシエーションパラメータをurl.Valuesからデコードします。
type StaticTokenSource ¶
type StaticTokenSource struct {
StaticToken *Token
}
StaticTokenSourceは、静的に設定されたトークンを常に返却するTokenSource実装です。
func (*StaticTokenSource) Token ¶
func (ts *StaticTokenSource) Token() (*Token, error)
TokenはTokenを返却します。
type Token ¶
type Token struct { // Tokenはトークン文字列です。 Token string // Headerはヘッダ名を指定します。デフォルトは `Authorization` です。 Header string }
Tokenはトークンを表します。
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transportは、WebTransportのトランスポートです。
func (*Transport) AsUnreliable ¶
func (t *Transport) AsUnreliable() (transport.UnreliableTransport, bool)
AsUnreliableは、トランスポートをUnreliableとして返却します。
トランスポートにWebTransportを選択した場合、信頼性のないトランスポートとしてはQUICDatagramが使用されます。
func (*Transport) NegotiationParams ¶
func (t *Transport) NegotiationParams() transport.NegotiationParams
NegotiationParamsは、ネゴシエーションパラメータを返却します。
func (*Transport) ReadUnreliable ¶
ReadUnreliableは、信頼性のないトランスポートから1メッセージ分のデータを読み込みます。
func (*Transport) RxBytesCounterValue ¶
RxBytesCounterValueは、読み込んだ総バイト数を返却します。
func (*Transport) TxBytesCounterValue ¶
TxBytesCounterValueは、書き込んだ総バイト数を返却します。
func (*Transport) WriteUnreliable ¶
WriteUnreliableは、信頼性のないトランスポートへ1メッセージ分のデータを書き込みます。