feat(notify): 重构通信内核并补齐 stream/bulk/record/transfer 能力

- 引入 LogicalConn/TransportConn 分层,ClientConn 保留兼容适配层
  - 新增 Stream、Bulk、RecordStream 三条数据面能力及对应控制路径
  - 完成 transfer/file 传输内核与状态快照、诊断能力
  - 补齐 reconnect、inbound dispatcher、modern psk 等基础模块
  - 增加大规模回归、并发与基准测试覆盖
  - 更新依赖库
This commit is contained in:
2026-04-15 15:24:36 +08:00
parent d14d13c393
commit 09d972c7b7
216 changed files with 51374 additions and 1715 deletions
+48 -2
View File
@@ -1,10 +1,13 @@
package notify
import (
itransfer "b612.me/notify/internal/transfer"
"b612.me/starcrypto"
"log"
)
// Deprecated: legacy static RSA private key retained only for compatibility
// with MSG_KEY_CHANGE.
var defaultRsaKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEAxmeMqr9yfJFKZn26oe/HvC7bZXNLC9Nk55AuTkb4XuIoqXDb
AJD2Y/p167oJLKIqL3edcj7h+oTfn6s79vxT0ZCEf37ILU0G+scRzVwYHiLMwOUC
@@ -55,8 +58,10 @@ HKpWIdjFJK1EqSfcINe2YuoyUIulz9oG7ObRHD4D8jSPjA8Ete+XsBHGyOtUl09u
X4u9uClhqjK+r1Tno2vw5yF6ZxfQtdWuL4W0UL1S8E+VO7vjTjNOYvgjAIpAM/gW
sqjA2Qw52UZqhhLXoTfRvtJilxlXXhIRJSsnUoGiYVCQ/upjqJCClEvJfIWdGY/U
I2CbFrwJcNvOG1lUsSM55JUmbrSWVPfo7yq2k9GCuFxOy2n/SVlvlQUcNkA=
-----END RSA PRIVATE KEY-----`)
-----END RSA PRIVATE KEY-----`)
// Deprecated: legacy static RSA public key retained only for compatibility
// with MSG_KEY_CHANGE.
var defaultRsaPubKey = []byte(`-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxmeMqr9yfJFKZn26oe/H
vC7bZXNLC9Nk55AuTkb4XuIoqXDbAJD2Y/p167oJLKIqL3edcj7h+oTfn6s79vxT
@@ -70,10 +75,13 @@ hq+q8YLcnKHvNKYVyCf/upExpAiArr88y/KbeKes0KorKkwMBnGUMTothWM25wHo
zcurixNvP4UMWX7LWD7vOZZuNDQNutZYeTwdsniI3mTO9vlPWEK8JTfxBU7x9SeP
UMJNDyjfDUJM8C2DOlyhGNPkgazOGdliH87tHkEy/7jJnGclgKmciiVPgwHfFx9G
GoBHEfvmAoGGrk4qNbjm7JECAwEAAQ==
-----END PUBLIC KEY-----`)
-----END PUBLIC KEY-----`)
// Deprecated: legacy static AES key retained only for compatibility with the
// old AES-CFB transport path.
var defaultAesKey = []byte{0x19, 0x96, 0x11, 0x27, 228, 187, 187, 231, 142, 137, 230, 179, 189, 229, 184, 133}
// Deprecated: legacy AES-CFB transport codec retained only for compatibility.
func defaultMsgEn(key []byte, d []byte) []byte {
data, err := starcrypto.CustomEncryptAesCFB(d, key)
if err != nil {
@@ -83,6 +91,7 @@ func defaultMsgEn(key []byte, d []byte) []byte {
return data
}
// Deprecated: legacy AES-CFB transport codec retained only for compatibility.
func defaultMsgDe(key []byte, d []byte) []byte {
data, err := starcrypto.CustomDecryptAesCFB(d, key)
if err != nil {
@@ -94,4 +103,41 @@ func defaultMsgDe(key []byte, d []byte) []byte {
func init() {
RegisterName("b612.me/notify.Transfer", TransferMsg{})
RegisterName("b612.me/notify.Envelope", Envelope{})
RegisterName("b612.me/notify.TransferRange", TransferRange{})
RegisterName("b612.me/notify.TransferBeginRequest", TransferBeginRequest{})
RegisterName("b612.me/notify.TransferBeginResponse", TransferBeginResponse{})
RegisterName("b612.me/notify.TransferResumeRequest", TransferResumeRequest{})
RegisterName("b612.me/notify.TransferResumeResponse", TransferResumeResponse{})
RegisterName("b612.me/notify.TransferCommitRequest", TransferCommitRequest{})
RegisterName("b612.me/notify.TransferCommitResponse", TransferCommitResponse{})
RegisterName("b612.me/notify.TransferAbortRequest", TransferAbortRequest{})
RegisterName("b612.me/notify.TransferAbortResponse", TransferAbortResponse{})
RegisterName("b612.me/notify.StreamOpenRequest", StreamOpenRequest{})
RegisterName("b612.me/notify.StreamOpenResponse", StreamOpenResponse{})
RegisterName("b612.me/notify.StreamCloseRequest", StreamCloseRequest{})
RegisterName("b612.me/notify.StreamCloseResponse", StreamCloseResponse{})
RegisterName("b612.me/notify.StreamResetRequest", StreamResetRequest{})
RegisterName("b612.me/notify.StreamResetResponse", StreamResetResponse{})
RegisterName("b612.me/notify.BulkRange", BulkRange{})
RegisterName("b612.me/notify.BulkOpenRequest", BulkOpenRequest{})
RegisterName("b612.me/notify.BulkOpenResponse", BulkOpenResponse{})
RegisterName("b612.me/notify.BulkCloseRequest", BulkCloseRequest{})
RegisterName("b612.me/notify.BulkCloseResponse", BulkCloseResponse{})
RegisterName("b612.me/notify.BulkResetRequest", BulkResetRequest{})
RegisterName("b612.me/notify.BulkResetResponse", BulkResetResponse{})
RegisterName("b612.me/notify.BulkReleaseRequest", BulkReleaseRequest{})
RegisterName("b612.me/notify.bulkAttachRequest", bulkAttachRequest{})
RegisterName("b612.me/notify.bulkAttachResponse", bulkAttachResponse{})
RegisterName("b612.me/notify.peerAttachRequest", peerAttachRequest{})
RegisterName("b612.me/notify.peerAttachResponse", peerAttachResponse{})
RegisterName("b612.me/notify/transfer.Begin", itransfer.Begin{})
RegisterName("b612.me/notify/transfer.BeginAck", itransfer.BeginAck{})
RegisterName("b612.me/notify/transfer.Resume", itransfer.Resume{})
RegisterName("b612.me/notify/transfer.ResumeAck", itransfer.ResumeAck{})
RegisterName("b612.me/notify/transfer.Commit", itransfer.Commit{})
RegisterName("b612.me/notify/transfer.CommitAck", itransfer.CommitAck{})
RegisterName("b612.me/notify/transfer.Abort", itransfer.Abort{})
RegisterName("b612.me/notify/transfer.Segment", itransfer.Segment{})
RegisterName("b612.me/notify/transfer.Ack", itransfer.Ack{})
}