Documentation
¶
Index ¶
- Variables
- type ClipBoundary
- func (*ClipBoundary) Descriptor() ([]byte, []int)deprecated
- func (x *ClipBoundary) GetByteLen() int64
- func (x *ClipBoundary) GetDelta_90K() int64
- func (*ClipBoundary) ProtoMessage()
- func (x *ClipBoundary) ProtoReflect() protoreflect.Message
- func (x *ClipBoundary) Reset()
- func (x *ClipBoundary) String() string
- type Encryption
- type FileMetadata
- func (*FileMetadata) Descriptor() ([]byte, []int)deprecated
- func (x *FileMetadata) GetAesIv() []byte
- func (x *FileMetadata) GetAesKey() []byte
- func (x *FileMetadata) GetClipBoundaries() []*ClipBoundary
- func (x *FileMetadata) GetCreatedAt() int64
- func (x *FileMetadata) GetEncryption() Encryption
- func (x *FileMetadata) GetFileSize() int64
- func (x *FileMetadata) GetKnownHoles() []*HoleRun
- func (x *FileMetadata) GetModifiedAt() int64
- func (x *FileMetadata) GetNestedSources() []*NestedSegmentSource
- func (x *FileMetadata) GetNzbdavId() string
- func (x *FileMetadata) GetPar2Files() []*Par2FileReference
- func (x *FileMetadata) GetPassword() string
- func (x *FileMetadata) GetReleaseDate() int64
- func (x *FileMetadata) GetSalt() string
- func (x *FileMetadata) GetSegmentData() []*SegmentData
- func (x *FileMetadata) GetSegmentRefs() []*SegmentRef
- func (x *FileMetadata) GetSegmentRuns() []*SegmentRun
- func (x *FileMetadata) GetSharedOuterSources() []*NestedSegmentSource
- func (x *FileMetadata) GetSourceNzbPath() string
- func (x *FileMetadata) GetStatus() FileStatus
- func (x *FileMetadata) GetStoreRef() string
- func (*FileMetadata) ProtoMessage()
- func (x *FileMetadata) ProtoReflect() protoreflect.Message
- func (x *FileMetadata) Reset()
- func (x *FileMetadata) String() string
- type FileStatus
- type HoleRun
- type NestedSegmentSource
- func (*NestedSegmentSource) Descriptor() ([]byte, []int)deprecated
- func (x *NestedSegmentSource) GetAesIv() []byte
- func (x *NestedSegmentSource) GetAesKey() []byte
- func (x *NestedSegmentSource) GetInnerLength() int64
- func (x *NestedSegmentSource) GetInnerOffset() int64
- func (x *NestedSegmentSource) GetInnerVolumeSize() int64
- func (x *NestedSegmentSource) GetSegmentRefs() []*SegmentRef
- func (x *NestedSegmentSource) GetSegments() []*SegmentData
- func (x *NestedSegmentSource) GetSharedOuterSourceIndex() int32
- func (*NestedSegmentSource) ProtoMessage()
- func (x *NestedSegmentSource) ProtoReflect() protoreflect.Message
- func (x *NestedSegmentSource) Reset()
- func (x *NestedSegmentSource) String() string
- type NzbFileEntry
- func (*NzbFileEntry) Descriptor() ([]byte, []int)deprecated
- func (x *NzbFileEntry) GetDate() int64
- func (x *NzbFileEntry) GetGroups() []string
- func (x *NzbFileEntry) GetPoster() string
- func (x *NzbFileEntry) GetSegments() []*NzbSeg
- func (x *NzbFileEntry) GetSubject() string
- func (*NzbFileEntry) ProtoMessage()
- func (x *NzbFileEntry) ProtoReflect() protoreflect.Message
- func (x *NzbFileEntry) Reset()
- func (x *NzbFileEntry) String() string
- type NzbSeg
- type NzbStore
- type Par2FileReference
- func (*Par2FileReference) Descriptor() ([]byte, []int)deprecated
- func (x *Par2FileReference) GetFileSize() int64
- func (x *Par2FileReference) GetFilename() string
- func (x *Par2FileReference) GetSegmentData() []*SegmentData
- func (x *Par2FileReference) GetSegmentRefs() []*SegmentRef
- func (x *Par2FileReference) GetSegmentRuns() []*SegmentRun
- func (*Par2FileReference) ProtoMessage()
- func (x *Par2FileReference) ProtoReflect() protoreflect.Message
- func (x *Par2FileReference) Reset()
- func (x *Par2FileReference) String() string
- type SegmentData
- func (*SegmentData) Descriptor() ([]byte, []int)deprecated
- func (x *SegmentData) GetEndOffset() int64
- func (x *SegmentData) GetId() string
- func (x *SegmentData) GetSegmentSize() int64
- func (x *SegmentData) GetStartOffset() int64
- func (*SegmentData) ProtoMessage()
- func (x *SegmentData) ProtoReflect() protoreflect.Message
- func (x *SegmentData) Reset()
- func (x *SegmentData) String() string
- type SegmentRef
- func (*SegmentRef) Descriptor() ([]byte, []int)deprecated
- func (x *SegmentRef) GetDecodedBytes() int64
- func (x *SegmentRef) GetEndOffset() int64
- func (x *SegmentRef) GetStartOffset() int64
- func (x *SegmentRef) GetStoreIndex() int64
- func (*SegmentRef) ProtoMessage()
- func (x *SegmentRef) ProtoReflect() protoreflect.Message
- func (x *SegmentRef) Reset()
- func (x *SegmentRef) String() string
- type SegmentRun
- func (*SegmentRun) Descriptor() ([]byte, []int)deprecated
- func (x *SegmentRun) GetBaseStoreIndex() int64
- func (x *SegmentRun) GetCount() int64
- func (x *SegmentRun) GetDecodedBytes() int64
- func (*SegmentRun) ProtoMessage()
- func (x *SegmentRun) ProtoReflect() protoreflect.Message
- func (x *SegmentRun) Reset()
- func (x *SegmentRun) String() string
Constants ¶
This section is empty.
Variables ¶
var ( Encryption_name = map[int32]string{ 0: "NONE", 1: "RCLONE", 2: "HEADERS", 3: "AES", } Encryption_value = map[string]int32{ "NONE": 0, "RCLONE": 1, "HEADERS": 2, "AES": 3, } )
Enum value maps for Encryption.
var ( FileStatus_name = map[int32]string{ 0: "FILE_STATUS_UNSPECIFIED", 1: "FILE_STATUS_HEALTHY", 3: "FILE_STATUS_CORRUPTED", 4: "FILE_STATUS_DEGRADED", } FileStatus_value = map[string]int32{ "FILE_STATUS_UNSPECIFIED": 0, "FILE_STATUS_HEALTHY": 1, "FILE_STATUS_CORRUPTED": 3, "FILE_STATUS_DEGRADED": 4, } )
Enum value maps for FileStatus.
var File_internal_metadata_proto_metadata_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ClipBoundary ¶ added in v0.3.0
type ClipBoundary struct {
ByteLen int64 `protobuf:"varint,1,opt,name=byte_len,json=byteLen,proto3" json:"byte_len,omitempty"`
Delta_90K int64 `protobuf:"varint,2,opt,name=delta_90k,json=delta90k,proto3" json:"delta_90k,omitempty"`
// contains filtered or unexported fields
}
ClipBoundary is one clip in a byte-concatenated multi-clip BD main feature. byte_len is the clip's size in the virtual file (a whole number of 192-byte BDAV source packets). delta_90k is the signed 90 kHz offset added to PTS/DTS (and delta_90k to the 90 kHz-equivalent of PCR base) for packets inside this clip's byte range, lifting the clip onto the unified continuous timeline.
func (*ClipBoundary) Descriptor
deprecated
added in
v0.3.0
func (*ClipBoundary) Descriptor() ([]byte, []int)
Deprecated: Use ClipBoundary.ProtoReflect.Descriptor instead.
func (*ClipBoundary) GetByteLen ¶ added in v0.3.0
func (x *ClipBoundary) GetByteLen() int64
func (*ClipBoundary) GetDelta_90K ¶ added in v0.3.0
func (x *ClipBoundary) GetDelta_90K() int64
func (*ClipBoundary) ProtoMessage ¶ added in v0.3.0
func (*ClipBoundary) ProtoMessage()
func (*ClipBoundary) ProtoReflect ¶ added in v0.3.0
func (x *ClipBoundary) ProtoReflect() protoreflect.Message
func (*ClipBoundary) Reset ¶ added in v0.3.0
func (x *ClipBoundary) Reset()
func (*ClipBoundary) String ¶ added in v0.3.0
func (x *ClipBoundary) String() string
type Encryption ¶
type Encryption int32
const ( Encryption_NONE Encryption = 0 // No encryption Encryption_RCLONE Encryption = 1 // Rclone encryption Encryption_HEADERS Encryption = 2 // Headers encryption Encryption_AES Encryption = 3 // Generic AES-CBC encryption (for RAR, 7z, etc.) )
func (Encryption) Descriptor ¶
func (Encryption) Descriptor() protoreflect.EnumDescriptor
func (Encryption) Enum ¶
func (x Encryption) Enum() *Encryption
func (Encryption) EnumDescriptor
deprecated
func (Encryption) EnumDescriptor() ([]byte, []int)
Deprecated: Use Encryption.Descriptor instead.
func (Encryption) Number ¶
func (x Encryption) Number() protoreflect.EnumNumber
func (Encryption) String ¶
func (x Encryption) String() string
func (Encryption) Type ¶
func (Encryption) Type() protoreflect.EnumType
type FileMetadata ¶
type FileMetadata struct {
FileSize int64 `protobuf:"varint,1,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"` // Size of the virtual file in bytes
SourceNzbPath string `protobuf:"bytes,2,opt,name=source_nzb_path,json=sourceNzbPath,proto3" json:"source_nzb_path,omitempty"` // Path to source NZB file
Status FileStatus `protobuf:"varint,3,opt,name=status,proto3,enum=metadata.FileStatus" json:"status,omitempty"` // Health status of the file
CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // Unix timestamp when metadata was created
ModifiedAt int64 `protobuf:"varint,5,opt,name=modified_at,json=modifiedAt,proto3" json:"modified_at,omitempty"` // Unix timestamp when last modified
Password string `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"` // Password for rclone encrypted files
Salt string `protobuf:"bytes,7,opt,name=salt,proto3" json:"salt,omitempty"` // Salt for rclone encrypted files
Encryption Encryption `protobuf:"varint,8,opt,name=encryption,proto3,enum=metadata.Encryption" json:"encryption,omitempty"` // Encryption type used for the file
SegmentData []*SegmentData `protobuf:"bytes,9,rep,name=segment_data,json=segmentData,proto3" json:"segment_data,omitempty"` // Segment information (lazy-loaded)
AesKey []byte `protobuf:"bytes,10,opt,name=aes_key,json=aesKey,proto3" json:"aes_key,omitempty"` // AES encryption key (for AES-encrypted archives)
AesIv []byte `protobuf:"bytes,11,opt,name=aes_iv,json=aesIv,proto3" json:"aes_iv,omitempty"` // AES initialization vector (for AES-encrypted archives)
ReleaseDate int64 `protobuf:"varint,12,opt,name=release_date,json=releaseDate,proto3" json:"release_date,omitempty"` // Unix timestamp of the original Usenet post release date
Par2Files []*Par2FileReference `protobuf:"bytes,13,rep,name=par2_files,json=par2Files,proto3" json:"par2_files,omitempty"` // Associated PAR2 repair files
NzbdavId string `protobuf:"bytes,14,opt,name=nzbdav_id,json=nzbdavId,proto3" json:"nzbdav_id,omitempty"` // ID to maintain compatibility with nzbdav
NestedSources []*NestedSegmentSource `protobuf:"bytes,15,rep,name=nested_sources,json=nestedSources,proto3" json:"nested_sources,omitempty"` // Nested RAR sources (when file is inside inner RAR within outer RAR)
// Per-clip timeline table for Blu-ray main-feature virtual files that
// byte-concatenate multiple M2TS clips (each with its own independent
// PTS/DTS/PCR base). At read time a TS-aware filter adds each clip's
// delta_90k to the timestamps inside that clip's byte range, producing a
// single continuous timeline so ffprobe/players report the correct
// duration and seek accurately. Empty for every other file type, which
// disables the filter entirely (zero overhead, total safety).
ClipBoundaries []*ClipBoundary `protobuf:"bytes,17,rep,name=clip_boundaries,json=clipBoundaries,proto3" json:"clip_boundaries,omitempty"`
// Outer sources shared by groups of NestedSegmentSource entries.
// Used for multi-extent encrypted volumes — e.g. a Blu-ray main feature
// with hundreds of extents that all read from the same encrypted RAR.
// Each entry holds the full Segments + AesKey + AesIv + InnerVolumeSize
// once; the corresponding NestedSegmentSource entries reference it by
// 1-based index via shared_outer_source_index, storing only
// inner_offset + inner_length per-extent. Cuts the on-disk .meta size
// from O(extents * segments) to O(extents + segments) for these files.
StoreRef string `protobuf:"bytes,18,opt,name=store_ref,json=storeRef,proto3" json:"store_ref,omitempty"` // id/path of the shared NzbStore
SegmentRefs []*SegmentRef `protobuf:"bytes,19,rep,name=segment_refs,json=segmentRefs,proto3" json:"segment_refs,omitempty"` // v3 replacement for segment_data
SegmentRuns []*SegmentRun `protobuf:"bytes,20,rep,name=segment_runs,json=segmentRuns,proto3" json:"segment_runs,omitempty"` // compact run encoding; preferred over segment_refs when present
KnownHoles []*HoleRun `protobuf:"bytes,21,rep,name=known_holes,json=knownHoles,proto3" json:"known_holes,omitempty"` // segments confirmed missing on all providers (zero-filled during playback)
// contains filtered or unexported fields
}
FileMetadata represents a single virtual file in the filesystem The filename comes from the actual metadata filename on disk
func (*FileMetadata) Descriptor
deprecated
func (*FileMetadata) Descriptor() ([]byte, []int)
Deprecated: Use FileMetadata.ProtoReflect.Descriptor instead.
func (*FileMetadata) GetAesIv ¶
func (x *FileMetadata) GetAesIv() []byte
func (*FileMetadata) GetAesKey ¶
func (x *FileMetadata) GetAesKey() []byte
func (*FileMetadata) GetClipBoundaries ¶ added in v0.3.0
func (x *FileMetadata) GetClipBoundaries() []*ClipBoundary
func (*FileMetadata) GetCreatedAt ¶
func (x *FileMetadata) GetCreatedAt() int64
func (*FileMetadata) GetEncryption ¶
func (x *FileMetadata) GetEncryption() Encryption
func (*FileMetadata) GetFileSize ¶
func (x *FileMetadata) GetFileSize() int64
func (*FileMetadata) GetKnownHoles ¶ added in v0.3.0
func (x *FileMetadata) GetKnownHoles() []*HoleRun
func (*FileMetadata) GetModifiedAt ¶
func (x *FileMetadata) GetModifiedAt() int64
func (*FileMetadata) GetNestedSources ¶
func (x *FileMetadata) GetNestedSources() []*NestedSegmentSource
func (*FileMetadata) GetNzbdavId ¶
func (x *FileMetadata) GetNzbdavId() string
func (*FileMetadata) GetPar2Files ¶
func (x *FileMetadata) GetPar2Files() []*Par2FileReference
func (*FileMetadata) GetPassword ¶
func (x *FileMetadata) GetPassword() string
func (*FileMetadata) GetReleaseDate ¶
func (x *FileMetadata) GetReleaseDate() int64
func (*FileMetadata) GetSalt ¶
func (x *FileMetadata) GetSalt() string
func (*FileMetadata) GetSegmentData ¶
func (x *FileMetadata) GetSegmentData() []*SegmentData
func (*FileMetadata) GetSegmentRefs ¶ added in v0.3.0
func (x *FileMetadata) GetSegmentRefs() []*SegmentRef
func (*FileMetadata) GetSegmentRuns ¶ added in v0.3.0
func (x *FileMetadata) GetSegmentRuns() []*SegmentRun
func (*FileMetadata) GetSharedOuterSources ¶ added in v0.3.0
func (x *FileMetadata) GetSharedOuterSources() []*NestedSegmentSource
func (*FileMetadata) GetSourceNzbPath ¶
func (x *FileMetadata) GetSourceNzbPath() string
func (*FileMetadata) GetStatus ¶
func (x *FileMetadata) GetStatus() FileStatus
func (*FileMetadata) GetStoreRef ¶ added in v0.3.0
func (x *FileMetadata) GetStoreRef() string
func (*FileMetadata) ProtoMessage ¶
func (*FileMetadata) ProtoMessage()
func (*FileMetadata) ProtoReflect ¶
func (x *FileMetadata) ProtoReflect() protoreflect.Message
func (*FileMetadata) Reset ¶
func (x *FileMetadata) Reset()
func (*FileMetadata) String ¶
func (x *FileMetadata) String() string
type FileStatus ¶
type FileStatus int32
FileStatus represents the health status of a file
const ( FileStatus_FILE_STATUS_UNSPECIFIED FileStatus = 0 FileStatus_FILE_STATUS_HEALTHY FileStatus = 1 // All segments available and file is complete FileStatus_FILE_STATUS_CORRUPTED FileStatus = 3 // Segments missing or corrupted FileStatus_FILE_STATUS_DEGRADED FileStatus = 4 // Media payload segments missing: playable with glitches, stays visible/streamable (2 was the removed PARTIAL — do not reuse) )
func (FileStatus) Descriptor ¶
func (FileStatus) Descriptor() protoreflect.EnumDescriptor
func (FileStatus) Enum ¶
func (x FileStatus) Enum() *FileStatus
func (FileStatus) EnumDescriptor
deprecated
func (FileStatus) EnumDescriptor() ([]byte, []int)
Deprecated: Use FileStatus.Descriptor instead.
func (FileStatus) Number ¶
func (x FileStatus) Number() protoreflect.EnumNumber
func (FileStatus) String ¶
func (x FileStatus) String() string
func (FileStatus) Type ¶
func (FileStatus) Type() protoreflect.EnumType
type HoleRun ¶ added in v0.3.0
type HoleRun struct {
StartSegment int64 `protobuf:"varint,1,opt,name=start_segment,json=startSegment,proto3" json:"start_segment,omitempty"` // first missing segment index
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` // number of consecutive missing segments
// contains filtered or unexported fields
}
HoleRun is a run of consecutive segments confirmed missing on every provider (a "hole"). Persisted so streaming can zero-fill known holes without a wasted network round-trip (replay pre-pad) and so health checks accumulate damage across sweeps. Empty for undamaged files (zero overhead).
func (*HoleRun) Descriptor
deprecated
added in
v0.3.0
func (*HoleRun) GetStartSegment ¶ added in v0.3.0
func (*HoleRun) ProtoMessage ¶ added in v0.3.0
func (*HoleRun) ProtoMessage()
func (*HoleRun) ProtoReflect ¶ added in v0.3.0
func (x *HoleRun) ProtoReflect() protoreflect.Message
type NestedSegmentSource ¶
type NestedSegmentSource struct {
Segments []*SegmentData `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` // Outer RAR segments covering this inner volume
AesKey []byte `protobuf:"bytes,2,opt,name=aes_key,json=aesKey,proto3" json:"aes_key,omitempty"` // Outer AES key (empty if unencrypted)
AesIv []byte `protobuf:"bytes,3,opt,name=aes_iv,json=aesIv,proto3" json:"aes_iv,omitempty"` // Outer AES IV
InnerOffset int64 `protobuf:"varint,4,opt,name=inner_offset,json=innerOffset,proto3" json:"inner_offset,omitempty"` // Offset within decrypted inner volume where file data starts
InnerLength int64 `protobuf:"varint,5,opt,name=inner_length,json=innerLength,proto3" json:"inner_length,omitempty"` // Bytes of target file in this source
InnerVolumeSize int64 `protobuf:"varint,6,opt,name=inner_volume_size,json=innerVolumeSize,proto3" json:"inner_volume_size,omitempty"` // Total decrypted size of inner volume (for AES cipher)
// When > 0 the `segments`, `aes_key`, `aes_iv`, `inner_volume_size`
// fields above are intentionally left empty on disk and inherit from
// FileMetadata.shared_outer_sources[shared_outer_source_index - 1].
// Only `inner_offset` and `inner_length` are stored per-extent. 0
// (proto default) means "no sharing" — identical to the legacy on-disk
// layout, so old .meta files keep working without migration.
SegmentRefs []*SegmentRef `protobuf:"bytes,8,rep,name=segment_refs,json=segmentRefs,proto3" json:"segment_refs,omitempty"`
// contains filtered or unexported fields
}
NestedSegmentSource represents one inner RAR volume's contribution to a nested file. Used when a file is inside an inner RAR that is itself inside an outer RAR.
func (*NestedSegmentSource) Descriptor
deprecated
func (*NestedSegmentSource) Descriptor() ([]byte, []int)
Deprecated: Use NestedSegmentSource.ProtoReflect.Descriptor instead.
func (*NestedSegmentSource) GetAesIv ¶
func (x *NestedSegmentSource) GetAesIv() []byte
func (*NestedSegmentSource) GetAesKey ¶
func (x *NestedSegmentSource) GetAesKey() []byte
func (*NestedSegmentSource) GetInnerLength ¶
func (x *NestedSegmentSource) GetInnerLength() int64
func (*NestedSegmentSource) GetInnerOffset ¶
func (x *NestedSegmentSource) GetInnerOffset() int64
func (*NestedSegmentSource) GetInnerVolumeSize ¶
func (x *NestedSegmentSource) GetInnerVolumeSize() int64
func (*NestedSegmentSource) GetSegmentRefs ¶ added in v0.3.0
func (x *NestedSegmentSource) GetSegmentRefs() []*SegmentRef
func (*NestedSegmentSource) GetSegments ¶
func (x *NestedSegmentSource) GetSegments() []*SegmentData
func (*NestedSegmentSource) GetSharedOuterSourceIndex ¶ added in v0.3.0
func (x *NestedSegmentSource) GetSharedOuterSourceIndex() int32
func (*NestedSegmentSource) ProtoMessage ¶
func (*NestedSegmentSource) ProtoMessage()
func (*NestedSegmentSource) ProtoReflect ¶
func (x *NestedSegmentSource) ProtoReflect() protoreflect.Message
func (*NestedSegmentSource) Reset ¶
func (x *NestedSegmentSource) Reset()
func (*NestedSegmentSource) String ¶
func (x *NestedSegmentSource) String() string
type NzbFileEntry ¶ added in v0.3.0
type NzbFileEntry struct {
Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
Poster string `protobuf:"bytes,2,opt,name=poster,proto3" json:"poster,omitempty"`
Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date,omitempty"` // unix ts
Groups []string `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups,omitempty"`
Segments []*NzbSeg `protobuf:"bytes,5,rep,name=segments,proto3" json:"segments,omitempty"` // ordered by `number`
// contains filtered or unexported fields
}
func (*NzbFileEntry) Descriptor
deprecated
added in
v0.3.0
func (*NzbFileEntry) Descriptor() ([]byte, []int)
Deprecated: Use NzbFileEntry.ProtoReflect.Descriptor instead.
func (*NzbFileEntry) GetDate ¶ added in v0.3.0
func (x *NzbFileEntry) GetDate() int64
func (*NzbFileEntry) GetGroups ¶ added in v0.3.0
func (x *NzbFileEntry) GetGroups() []string
func (*NzbFileEntry) GetPoster ¶ added in v0.3.0
func (x *NzbFileEntry) GetPoster() string
func (*NzbFileEntry) GetSegments ¶ added in v0.3.0
func (x *NzbFileEntry) GetSegments() []*NzbSeg
func (*NzbFileEntry) GetSubject ¶ added in v0.3.0
func (x *NzbFileEntry) GetSubject() string
func (*NzbFileEntry) ProtoMessage ¶ added in v0.3.0
func (*NzbFileEntry) ProtoMessage()
func (*NzbFileEntry) ProtoReflect ¶ added in v0.3.0
func (x *NzbFileEntry) ProtoReflect() protoreflect.Message
func (*NzbFileEntry) Reset ¶ added in v0.3.0
func (x *NzbFileEntry) Reset()
func (*NzbFileEntry) String ¶ added in v0.3.0
func (x *NzbFileEntry) String() string
type NzbSeg ¶ added in v0.3.0
type NzbSeg struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // message-id (no angle brackets)
Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
Bytes int64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
// contains filtered or unexported fields
}
func (*NzbSeg) Descriptor
deprecated
added in
v0.3.0
func (*NzbSeg) ProtoMessage ¶ added in v0.3.0
func (*NzbSeg) ProtoMessage()
func (*NzbSeg) ProtoReflect ¶ added in v0.3.0
func (x *NzbSeg) ProtoReflect() protoreflect.Message
type NzbStore ¶ added in v0.3.0
type NzbStore struct {
Files []*NzbFileEntry `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` // original <file>s, in NZB order
// contains filtered or unexported fields
}
NzbStore is the complete original NZB for a release, stored zstd-compressed at the (renamed) source_nzb_path. Single source of truth for streaming + NZB regen.
func (*NzbStore) Descriptor
deprecated
added in
v0.3.0
func (*NzbStore) GetFiles ¶ added in v0.3.0
func (x *NzbStore) GetFiles() []*NzbFileEntry
func (*NzbStore) ProtoMessage ¶ added in v0.3.0
func (*NzbStore) ProtoMessage()
func (*NzbStore) ProtoReflect ¶ added in v0.3.0
func (x *NzbStore) ProtoReflect() protoreflect.Message
type Par2FileReference ¶
type Par2FileReference struct {
Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` // PAR2 filename (e.g., "movie.par2", "movie.vol01+02.par2")
FileSize int64 `protobuf:"varint,2,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"` // Size of the PAR2 file in bytes
SegmentData []*SegmentData `protobuf:"bytes,3,rep,name=segment_data,json=segmentData,proto3" json:"segment_data,omitempty"` // Usenet segments containing PAR2 data
SegmentRefs []*SegmentRef `protobuf:"bytes,4,rep,name=segment_refs,json=segmentRefs,proto3" json:"segment_refs,omitempty"`
SegmentRuns []*SegmentRun `protobuf:"bytes,5,rep,name=segment_runs,json=segmentRuns,proto3" json:"segment_runs,omitempty"` // compact run encoding; preferred over segment_refs when present
// contains filtered or unexported fields
}
Par2FileReference stores information about PAR2 repair files
func (*Par2FileReference) Descriptor
deprecated
func (*Par2FileReference) Descriptor() ([]byte, []int)
Deprecated: Use Par2FileReference.ProtoReflect.Descriptor instead.
func (*Par2FileReference) GetFileSize ¶
func (x *Par2FileReference) GetFileSize() int64
func (*Par2FileReference) GetFilename ¶
func (x *Par2FileReference) GetFilename() string
func (*Par2FileReference) GetSegmentData ¶
func (x *Par2FileReference) GetSegmentData() []*SegmentData
func (*Par2FileReference) GetSegmentRefs ¶ added in v0.3.0
func (x *Par2FileReference) GetSegmentRefs() []*SegmentRef
func (*Par2FileReference) GetSegmentRuns ¶ added in v0.3.0
func (x *Par2FileReference) GetSegmentRuns() []*SegmentRun
func (*Par2FileReference) ProtoMessage ¶
func (*Par2FileReference) ProtoMessage()
func (*Par2FileReference) ProtoReflect ¶
func (x *Par2FileReference) ProtoReflect() protoreflect.Message
func (*Par2FileReference) Reset ¶
func (x *Par2FileReference) Reset()
func (*Par2FileReference) String ¶
func (x *Par2FileReference) String() string
type SegmentData ¶
type SegmentData struct {
SegmentSize int64 `protobuf:"varint,1,opt,name=segment_size,json=segmentSize,proto3" json:"segment_size,omitempty"` // Size of the segment in bytes
StartOffset int64 `protobuf:"varint,3,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` // Start byte offset in the data stream
EndOffset int64 `protobuf:"varint,4,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` // End byte offset in the data stream
Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // Usenet message ID
// contains filtered or unexported fields
}
SegmentData contains Usenet segment information with byte offsets
func (*SegmentData) Descriptor
deprecated
func (*SegmentData) Descriptor() ([]byte, []int)
Deprecated: Use SegmentData.ProtoReflect.Descriptor instead.
func (*SegmentData) GetEndOffset ¶
func (x *SegmentData) GetEndOffset() int64
func (*SegmentData) GetId ¶
func (x *SegmentData) GetId() string
func (*SegmentData) GetSegmentSize ¶
func (x *SegmentData) GetSegmentSize() int64
func (*SegmentData) GetStartOffset ¶
func (x *SegmentData) GetStartOffset() int64
func (*SegmentData) ProtoMessage ¶
func (*SegmentData) ProtoMessage()
func (*SegmentData) ProtoReflect ¶
func (x *SegmentData) ProtoReflect() protoreflect.Message
func (*SegmentData) Reset ¶
func (x *SegmentData) Reset()
func (*SegmentData) String ¶
func (x *SegmentData) String() string
type SegmentRef ¶ added in v0.3.0
type SegmentRef struct {
StoreIndex int64 `protobuf:"varint,1,opt,name=store_index,json=storeIndex,proto3" json:"store_index,omitempty"` // flat index: files-in-order then segments-by-number
StartOffset int64 `protobuf:"varint,2,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` // usable byte range within that segment
EndOffset int64 `protobuf:"varint,3,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"`
DecodedBytes int64 `protobuf:"varint,4,opt,name=decoded_bytes,json=decodedBytes,proto3" json:"decoded_bytes,omitempty"` // actual decoded segment size; 0 means use NzbSeg.bytes
// contains filtered or unexported fields
}
SegmentRef points into the flat segment index of the release's NzbStore.
func (*SegmentRef) Descriptor
deprecated
added in
v0.3.0
func (*SegmentRef) Descriptor() ([]byte, []int)
Deprecated: Use SegmentRef.ProtoReflect.Descriptor instead.
func (*SegmentRef) GetDecodedBytes ¶ added in v0.3.0
func (x *SegmentRef) GetDecodedBytes() int64
func (*SegmentRef) GetEndOffset ¶ added in v0.3.0
func (x *SegmentRef) GetEndOffset() int64
func (*SegmentRef) GetStartOffset ¶ added in v0.3.0
func (x *SegmentRef) GetStartOffset() int64
func (*SegmentRef) GetStoreIndex ¶ added in v0.3.0
func (x *SegmentRef) GetStoreIndex() int64
func (*SegmentRef) ProtoMessage ¶ added in v0.3.0
func (*SegmentRef) ProtoMessage()
func (*SegmentRef) ProtoReflect ¶ added in v0.3.0
func (x *SegmentRef) ProtoReflect() protoreflect.Message
func (*SegmentRef) Reset ¶ added in v0.3.0
func (x *SegmentRef) Reset()
func (*SegmentRef) String ¶ added in v0.3.0
func (x *SegmentRef) String() string
type SegmentRun ¶ added in v0.3.0
type SegmentRun struct {
BaseStoreIndex int64 `protobuf:"varint,1,opt,name=base_store_index,json=baseStoreIndex,proto3" json:"base_store_index,omitempty"` // flat store index of the first segment in the run
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` // number of consecutive segments
DecodedBytes int64 `protobuf:"varint,3,opt,name=decoded_bytes,json=decodedBytes,proto3" json:"decoded_bytes,omitempty"` // decoded size shared by every segment in the run; 0 = use NzbSeg.bytes
// contains filtered or unexported fields
}
SegmentRun compactly encodes a consecutive range of full-segment refs: start_offset=0, end_offset=decoded_bytes-1, store_index increasing by 1. Used in place of repeated SegmentRef when a file's segments map 1:1 onto a contiguous run of the NzbStore (the common non-archive case).
func (*SegmentRun) Descriptor
deprecated
added in
v0.3.0
func (*SegmentRun) Descriptor() ([]byte, []int)
Deprecated: Use SegmentRun.ProtoReflect.Descriptor instead.
func (*SegmentRun) GetBaseStoreIndex ¶ added in v0.3.0
func (x *SegmentRun) GetBaseStoreIndex() int64
func (*SegmentRun) GetCount ¶ added in v0.3.0
func (x *SegmentRun) GetCount() int64
func (*SegmentRun) GetDecodedBytes ¶ added in v0.3.0
func (x *SegmentRun) GetDecodedBytes() int64
func (*SegmentRun) ProtoMessage ¶ added in v0.3.0
func (*SegmentRun) ProtoMessage()
func (*SegmentRun) ProtoReflect ¶ added in v0.3.0
func (x *SegmentRun) ProtoReflect() protoreflect.Message
func (*SegmentRun) Reset ¶ added in v0.3.0
func (x *SegmentRun) Reset()
func (*SegmentRun) String ¶ added in v0.3.0
func (x *SegmentRun) String() string