mirror of
https://github.com/jwetzell/psn-go.git
synced 2026-08-11 10:23:56 +00:00
have decoder return err
This commit is contained in:
+5
-9
@@ -1,8 +1,6 @@
|
||||
package psn
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/jwetzell/psn-go/internal/decoders"
|
||||
)
|
||||
|
||||
@@ -52,19 +50,17 @@ func (d *Decoder) updateData(framePackets []decoders.DataPacketChunk) {
|
||||
}
|
||||
}
|
||||
|
||||
func (d *Decoder) Decode(bytes []byte) {
|
||||
func (d *Decoder) Decode(bytes []byte) error {
|
||||
chunk, err := decoders.DecodeChunk(bytes)
|
||||
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
return
|
||||
return err
|
||||
}
|
||||
|
||||
if chunk.Header.Id == 0x6756 {
|
||||
infoPacket, err := decoders.DecodeInfoPacketChunk(bytes)
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
return
|
||||
return err
|
||||
}
|
||||
currentInfoPacketHeader := infoPacket.Data.PacketHeader
|
||||
|
||||
@@ -82,8 +78,7 @@ func (d *Decoder) Decode(bytes []byte) {
|
||||
} else if chunk.Header.Id == 0x6755 {
|
||||
dataPacket, err := decoders.DecodeDataPacketChunk(bytes)
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
return
|
||||
return err
|
||||
}
|
||||
currentInfoPacketHeader := dataPacket.Data.PacketHeader
|
||||
|
||||
@@ -99,4 +94,5 @@ func (d *Decoder) Decode(bytes []byte) {
|
||||
delete(d.dataPacketFrames, currentInfoPacketHeader.Data.FrameId)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"github.com/jwetzell/psn-go"
|
||||
)
|
||||
@@ -22,8 +23,14 @@ func main() {
|
||||
0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f,
|
||||
}
|
||||
|
||||
decoder.Decode(infoPacketBytes)
|
||||
decoder.Decode(dataPacketBytes)
|
||||
err := decoder.Decode(infoPacketBytes)
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
}
|
||||
err = decoder.Decode(dataPacketBytes)
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
}
|
||||
|
||||
fmt.Printf("decoded: %+v\n", decoder.SystemName)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net"
|
||||
"time"
|
||||
|
||||
@@ -35,7 +36,10 @@ func main() {
|
||||
}
|
||||
|
||||
if length > 0 {
|
||||
decoder.Decode(buffer)
|
||||
err := decoder.Decode(buffer)
|
||||
if err != nil {
|
||||
slog.Error("error decoding", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
if time.Now().UnixMilli()-lastPrintMillis > 1000 {
|
||||
|
||||
Reference in New Issue
Block a user