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