Documentation
¶
Overview ¶
Package transport は、 iSCP で使用するトランスポートをまとめたパッケージです。
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrAlreadyClosed は、トランスポート層のコネクションが切れている場合に返されます。 // // DEPRECATED: errors.ErrConnectionClosed を使用して下さい ErrAlreadyClosed = errors.ErrConnectionClosed // ErrInvalidMessage は、 メッセージが不正だった時に返されます。 // // DEPRECATED: errors.ErrMalformedMessage を使用して下さい ErrInvalidMessage = errors.ErrMalformedMessage EOF = io.EOF )
Conn は以下のエラーを返します。
View Source
var Now = time.Now
Now は transport内で利用する現在時刻関数です。
Functions ¶
func Copy ¶
func Copy(dst ReadWriter, src ReadWriter) error
func Pipe ¶
func Pipe() (ReadWriter, ReadWriter)
Types ¶
type DialConfig ¶
type DialConfig struct { Address string CompressConfig compress.Config EncodingName EncodingName }
func (DialConfig) NegotiationParams ¶
func (c DialConfig) NegotiationParams() NegotiationParams
type Dialer ¶
type Dialer interface {
Dial(DialConfig) (Transport, error)
}
type EncodingName ¶
type EncodingName string
EncodingName は、エンコーディングの識別名を表します。
const ( // EncodingNameJSON は、 JSON 形式のエンコーディングを表す名称です。 EncodingNameJSON EncodingName = "json" // EncodingNameProtobuf は、 Protocol Buffers 形式のエンコーディングを表す名称です。 EncodingNameProtobuf EncodingName = "proto" )
type NegotiationParams ¶
type NegotiationParams struct { Encoding EncodingName `json:"enc,omitempty"` Compress compress.Type `json:"comp,omitempty"` CompressLevel *int `json:"clevel,string,omitempty"` CompressWindowBits *int `json:"cwinbits,string,omitempty"` }
func (*NegotiationParams) CompressConfig ¶
func (p *NegotiationParams) CompressConfig(base compress.Config) compress.Config
CompressConfig は、事前ネゴシエーションの情報をもとに設定された新たな compress.Config を返します。
func (*NegotiationParams) MarshalKeyValues ¶
func (p *NegotiationParams) MarshalKeyValues() (map[string]string, error)
func (*NegotiationParams) UnmarshalKeyValues ¶
func (p *NegotiationParams) UnmarshalKeyValues(keyvals map[string]string) error
func (NegotiationParams) Validate ¶
func (p NegotiationParams) Validate() error
type ReadWriter ¶
ReadWriterはトランスポートからメッセージを読み書きのインターフェースです。
type Reader ¶
type Reader interface { // Read は、トランスポートからメッセージを読み出します。 Read() ([]byte, error) // Close は、トランスポートのコネクションを切断します。 Close() error // RxBytesCounterValue は、現在の受信メッセージカウンターの値を返します。 RxBytesCounterValue() uint64 }
Readerはトランスポートからメッセージを読み出すインターフェースです。
type Transport ¶
type Transport interface { ReadWriter // AsUnreliable は UnreliableTransportを返します。 // // もし、 Unreliableをサポートしていない場合は okはfalseを返します。 AsUnreliable() (tr UnreliableTransport, ok bool) // NegotiationParams は、トランスポートで事前ネゴシエーションされたパラメーターを返します。 NegotiationParams() NegotiationParams // Nameは、トランスポート名を返却します。 Name() Name }
Transport は、 iSCP のトランスポート層を抽象化したインターフェースです。
type UnreliableTransport ¶
type UnreliableTransport interface { ReadWriter IsUnreliable() }
Directories
¶
Path | Synopsis |
---|---|
Package compress は、 トランスポートメッセージの圧縮に関するパッケージです。
|
Package compress は、 トランスポートメッセージの圧縮に関するパッケージです。 |
Package quic は、 QUIC を使用したトランスポートを提供するパッケージです。
|
Package quic は、 QUIC を使用したトランスポートを提供するパッケージです。 |
Package websocket は、 WebSocket を使用したトランスポートを提供するパッケージです。
|
Package websocket は、 WebSocket を使用したトランスポートを提供するパッケージです。 |
gorilla
Package gorillaは、Gorilla WebSocket(https://github.com/gorilla/websocket) を使ってWebSocket接続を行うためのパッケージです。
|
Package gorillaは、Gorilla WebSocket(https://github.com/gorilla/websocket) を使ってWebSocket接続を行うためのパッケージです。 |
nhooyr
Package nhooyrは、 nhooyr/websocket (https://github.com/nhooyr/websocket) を使ってWebSocket接続を行うためのパッケージです(実験的)。
|
Package nhooyrは、 nhooyr/websocket (https://github.com/nhooyr/websocket) を使ってWebSocket接続を行うためのパッケージです(実験的)。 |
Package webtransport は、 WebTransport を使用したトランスポートを提供するパッケージです。
|
Package webtransport は、 WebTransport を使用したトランスポートを提供するパッケージです。 |
Click to show internal directories.
Click to hide internal directories.