summaryrefslogtreecommitdiff
path: root/danmaku/dmpkg
diff options
context:
space:
mode:
Diffstat (limited to 'danmaku/dmpkg')
-rw-r--r--danmaku/dmpkg/auth.go6
-rw-r--r--danmaku/dmpkg/decode.go10
-rw-r--r--danmaku/dmpkg/package.go15
-rw-r--r--danmaku/dmpkg/raw.go12
4 files changed, 24 insertions, 19 deletions
diff --git a/danmaku/dmpkg/auth.go b/danmaku/dmpkg/auth.go
index c39fbd9..5caf868 100644
--- a/danmaku/dmpkg/auth.go
+++ b/danmaku/dmpkg/auth.go
@@ -23,11 +23,11 @@ type authInfo struct {
// NewAuth creates a new authentication exchange.
func NewAuth(protocol ProtocolVer, roomId common.RoomId, authKey string) (exc DanmakuExchange) {
exc, _ = NewPlainExchange(OpConnect, authInfo{
- UID: kUidGuest,
+ UID: UidGuest,
RoomId: uint64(roomId),
ProtoVer: int(protocol),
- Platform: kPlatformWeb,
- Type: kAuthTypeDefault,
+ Platform: PlatformWeb,
+ Type: AuthTypeDefault,
Key: authKey,
})
return
diff --git a/danmaku/dmpkg/decode.go b/danmaku/dmpkg/decode.go
index 7d9f796..e352fcc 100644
--- a/danmaku/dmpkg/decode.go
+++ b/danmaku/dmpkg/decode.go
@@ -7,14 +7,14 @@ import (
)
func DecodeExchange(data []byte) (exc DanmakuExchange, err error) {
- if ln := len(data); ln < kHeaderLength {
- err = fmt.Errorf("incomplete datagram: length = %v < %v", ln, kHeaderLength)
+ if ln := len(data); ln < HeaderLength {
+ err = fmt.Errorf("incomplete datagram: length = %v < %v", ln, HeaderLength)
return
}
// unpack header
var exchangeHeader DanmakuExchangeHeader
- err = struc.Unpack(bytes.NewReader(data[:kHeaderLength]), &exchangeHeader)
+ err = struc.Unpack(bytes.NewReader(data[:HeaderLength]), &exchangeHeader)
if err != nil {
err = fmt.Errorf("cannot unpack exchange header: %w", err)
return
@@ -22,9 +22,9 @@ func DecodeExchange(data []byte) (exc DanmakuExchange, err error) {
headerLength := exchangeHeader.HeaderLength
// validate header length, fail fast if not match
- if headerLength != kHeaderLength {
+ if headerLength != HeaderLength {
err = fmt.Errorf("invalid header length, "+
- "the protocol implementation might be obsolete: %v != %v", headerLength, kHeaderLength)
+ "the protocol implementation might be obsolete: %v != %v", headerLength, HeaderLength)
return
}
diff --git a/danmaku/dmpkg/package.go b/danmaku/dmpkg/package.go
index 3175a18..51c769a 100644
--- a/danmaku/dmpkg/package.go
+++ b/danmaku/dmpkg/package.go
@@ -31,8 +31,10 @@ func (e *DanmakuExchange) String() string {
e.Length, e.ProtocolVer, e.Operation, e.Body)
}
-const kHeaderLength = 16
-const kSequenceId = 1
+const (
+ HeaderLength = 16
+ SequenceId = 1
+)
type ProtocolVer uint16
@@ -47,9 +49,12 @@ const (
ProtoBrotli ProtocolVer = 3
)
-const kUidGuest = 0
-const kPlatformWeb = "web"
-const kAuthTypeDefault = 2 // magic number, not sure what does it mean
+const (
+ UidGuest = 0
+ PlatformWeb = "web"
+ // AuthTypeDefault magic number, not sure what does it mean
+ AuthTypeDefault = 2
+)
func (e *DanmakuExchange) Marshal() (data []byte, err error) {
var buffer bytes.Buffer
diff --git a/danmaku/dmpkg/raw.go b/danmaku/dmpkg/raw.go
index 17b538a..34cd2e6 100644
--- a/danmaku/dmpkg/raw.go
+++ b/danmaku/dmpkg/raw.go
@@ -6,7 +6,7 @@ import (
"math"
)
-const kMaxBodyLength = math.MaxUint32 - uint64(kHeaderLength)
+const MaxBodyLength = math.MaxUint32 - uint64(HeaderLength)
// NewPlainExchange creates a new exchange with raw body specified.
// body: a struct or a raw string
@@ -28,18 +28,18 @@ func NewPlainExchange(operation Operation, body interface{}) (exc DanmakuExchang
}
}
- length := uint64(kHeaderLength + len(bodyData))
- if length > kMaxBodyLength {
- err = fmt.Errorf("body is too large (> %d)", kMaxBodyLength)
+ length := uint64(HeaderLength + len(bodyData))
+ if length > MaxBodyLength {
+ err = fmt.Errorf("body is too large (> %d)", MaxBodyLength)
return
}
exc = DanmakuExchange{
DanmakuExchangeHeader: DanmakuExchangeHeader{
Length: uint32(length),
- HeaderLength: kHeaderLength,
+ HeaderLength: HeaderLength,
ProtocolVer: ProtoPlainJson,
Operation: operation,
- SequenceId: kSequenceId,
+ SequenceId: SequenceId,
},
Body: bodyData,
}