package
0.0.0-20230519120119-78d1183fd0db
Repository: https://github.com/vela-ssoc/backend-common.git
Documentation: pkg.go.dev

# README

SPDY

A multiplexed stream library.

尚未实现 流量控制stream 并发数控制stream 读写超时控制

未来发展

spdy 是一种过渡性的协议。数据分帧、双向流、单向流这些概念已经在 QUIC 协议中被很好的定义规范。QUIC 基于 udp 协议,能够实现流式传输、拥塞控制、双向流、单向流等功能。随着 QUIC 的发展和普及,spdy 这一块也将会被 QUIC 代替,最近 Go 官方开发团队已经对 QUIC 实现发起了 提案,期待官方正式发布。

帧格式

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flag     |                  Stream ID                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Stream ID   |          Data Length          |     Data      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Data                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Flag: uint8

Stream ID: uint32

Data Length: uint16

Data: 变长,由 Data Length 决定

SYN - 新建连接

SYN 为变长帧,代表新建虚拟连接

FIN - 结束连接

FIN 为虚拟连接的最后一帧,收到 FIN 则代表对方已经断开了虚拟连接,

FIN 帧为定长帧(7 bytes),只能包含 Flag Stream ID Data Length 信息,且 Data Length 填充为 0

DAT - 数据报文

参考链接

spdystream

yamux

smux

muxado

multiplex

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Interfaces

No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author