just use marshal methods directly

This commit is contained in:
Joel Wetzell
2026-02-08 20:37:30 -06:00
parent f63b8886ce
commit 744817ec17
6 changed files with 33 additions and 41 deletions
+27 -3
View File
@@ -56,11 +56,35 @@ func Decode(bytes []byte) (ArtNetPacket, error) {
opCode := binary.LittleEndian.Uint16(bytes[8:10]) opCode := binary.LittleEndian.Uint16(bytes[8:10])
switch opCode { switch opCode {
case OpPoll: case OpPoll:
return NewArtPoll(bytes) artPoll := ArtPoll{}
err := artPoll.UnmarshalBinary(bytes)
if err != nil {
return nil, err
}
return &artPoll, nil
case OpDmx: case OpDmx:
return NewArtDmx(bytes) artDmx := ArtDmx{}
err := artDmx.UnmarshalBinary(bytes)
if err != nil {
return nil, err
}
return &artDmx, nil
case OpTimeCode: case OpTimeCode:
return NewArtTimeCode(bytes) artTimeCode := ArtTimeCode{}
err := artTimeCode.UnmarshalBinary(bytes)
if err != nil {
return nil, err
}
return &artTimeCode, nil
default: default:
return nil, fmt.Errorf("unhandled opcode: %#x", opCode) return nil, fmt.Errorf("unhandled opcode: %#x", opCode)
} }
-12
View File
@@ -19,18 +19,6 @@ type ArtDmx struct {
Data []uint8 Data []uint8
} }
func NewArtDmx(data []byte) (*ArtDmx, error) {
artDmx := ArtDmx{}
err := artDmx.UnmarshalBinary(data)
if err != nil {
return nil, err
}
return &artDmx, nil
}
func (ad *ArtDmx) GetOpCode() uint16 { func (ad *ArtDmx) GetOpCode() uint16 {
return ad.OpCode return ad.OpCode
} }
+3 -1
View File
@@ -30,7 +30,9 @@ func TestGoodArtDmx(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
got, err := artnet.NewArtDmx(test.Data) got := artnet.ArtDmx{}
err := got.UnmarshalBinary(test.Data)
if err != nil { if err != nil {
t.Fatalf("failed to decode ArtDmx: %s", err) t.Fatalf("failed to decode ArtDmx: %s", err)
-12
View File
@@ -23,18 +23,6 @@ type ArtPoll struct {
OemLo uint8 OemLo uint8
} }
func NewArtPoll(data []byte) (*ArtPoll, error) {
artPoll := ArtPoll{}
err := artPoll.UnmarshalBinary(data)
if err != nil {
return nil, err
}
return &artPoll, nil
}
func (ap *ArtPoll) GetOpCode() uint16 { func (ap *ArtPoll) GetOpCode() uint16 {
return ap.OpCode return ap.OpCode
} }
-12
View File
@@ -20,18 +20,6 @@ type ArtTimeCode struct {
Type uint8 Type uint8
} }
func NewArtTimeCode(data []byte) (*ArtTimeCode, error) {
artTimeCode := ArtTimeCode{}
err := artTimeCode.UnmarshalBinary(data)
if err != nil {
return nil, err
}
return &artTimeCode, nil
}
func (atc *ArtTimeCode) GetOpCode() uint16 { func (atc *ArtTimeCode) GetOpCode() uint16 {
return atc.OpCode return atc.OpCode
} }
+3 -1
View File
@@ -31,7 +31,9 @@ func TestGoodArtTimeCode(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
got, err := artnet.NewArtTimeCode(test.Data) got := artnet.ArtTimeCode{}
err := got.UnmarshalBinary(test.Data)
if err != nil { if err != nil {
t.Fatalf("failed to decode ArtTimeCode: %s", err) t.Fatalf("failed to decode ArtTimeCode: %s", err)