cleanup function layout for decoders

This commit is contained in:
2024-12-19 20:40:54 -06:00
parent 35ec9e34c1
commit 01e0ffc3a6
12 changed files with 175 additions and 222 deletions
+12 -16
View File
@@ -3,13 +3,19 @@ package decoders
type DataTrackerListChunkData struct {
Trackers []DataTrackerChunk
}
type DataTrackerListChunk struct {
Chunk Chunk
Data DataTrackerListChunkData
}
func decodeDataTrackerListChunkData(dataTrackerListChunk Chunk) DataTrackerListChunkData {
var trackers []DataTrackerChunk
if dataTrackerListChunk.Header.HasSubchunks && dataTrackerListChunk.Header.DataLen > 0 {
func DecodeDataTrackerListChunk(bytes []byte) DataTrackerListChunk {
chunk := DecodeChunk(bytes)
trackers := []DataTrackerChunk{}
if chunk.Header.HasSubchunks && chunk.Header.DataLen > 0 {
offset := 0
for offset < int(dataTrackerListChunk.Header.DataLen) {
trackerChunk := DecodeDataTrackerChunk(dataTrackerListChunk.ChunkData[offset:])
for offset < int(chunk.Header.DataLen) {
trackerChunk := DecodeDataTrackerChunk(chunk.ChunkData[offset:])
offset += 4
if trackerChunk.Chunk.Header.DataLen > 0 {
offset += int(trackerChunk.Chunk.Header.DataLen)
@@ -18,19 +24,9 @@ func decodeDataTrackerListChunkData(dataTrackerListChunk Chunk) DataTrackerListC
}
}
return DataTrackerListChunkData{
data := DataTrackerListChunkData{
Trackers: trackers,
}
}
type DataTrackerListChunk struct {
Chunk Chunk
Data DataTrackerListChunkData
}
func DecodeDataTrackerListChunk(bytes []byte) DataTrackerListChunk {
chunk := DecodeChunk(bytes)
data := decodeDataTrackerListChunkData(chunk)
return DataTrackerListChunk{
Chunk: chunk,