aboutsummaryrefslogtreecommitdiff
path: root/hotline/file_header.go
diff options
context:
space:
mode:
Diffstat (limited to 'hotline/file_header.go')
-rw-r--r--hotline/file_header.go46
1 files changed, 0 insertions, 46 deletions
diff --git a/hotline/file_header.go b/hotline/file_header.go
deleted file mode 100644
index b18229a..0000000
--- a/hotline/file_header.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package hotline
-
-import (
- "encoding/binary"
- "io"
- "slices"
-)
-
-type FileHeader struct {
- Size [2]byte // Total size of FileHeader payload
- Type [2]byte // 0 for file, 1 for dir
- FilePath []byte // encoded file path
-
- readOffset int // Internal offset to track read progress
-}
-
-func NewFileHeader(fileName string, isDir bool) FileHeader {
- fh := FileHeader{
- FilePath: EncodeFilePath(fileName),
- }
- if isDir {
- fh.Type = [2]byte{0x00, 0x01}
- }
-
- encodedPathLen := uint16(len(fh.FilePath) + len(fh.Type))
- binary.BigEndian.PutUint16(fh.Size[:], encodedPathLen)
-
- return fh
-}
-
-func (fh *FileHeader) Read(p []byte) (int, error) {
- buf := slices.Concat(
- fh.Size[:],
- fh.Type[:],
- fh.FilePath,
- )
-
- if fh.readOffset >= len(buf) {
- return 0, io.EOF // All bytes have been read
- }
-
- n := copy(p, buf[fh.readOffset:])
- fh.readOffset += n
-
- return n, nil
-}