ft

package
v0.1.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2025 License: GPL-3.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileTreeNode

type FileTreeNode struct {
	// Base parameters of files and folders.
	Name    string
	Size    int
	HashSum hash.FileHash

	// Flags.
	IsRoot      bool
	IsDirectory bool
	IsFile      bool

	// Links to other nodes.
	Parent   *FileTreeNode
	Children []*FileTreeNode
}

FileTreeNode is a file tree node used in BitTorrent file of Version 2.

func (*FileTreeNode) AppendChild

func (ftn *FileTreeNode) AppendChild(childNode *FileTreeNode)

AppendChild adds a child node to the parent node.

type NodeRoute

type NodeRoute []*FileTreeNode

NodeRoute is a routed chain of file tree nodes used in BitTorrent file of Version 2. The route starts from the root node and ends with the file node.

func NewNodeRoute

func NewNodeRoute(rootNode *FileTreeNode) (nr NodeRoute)

NewNodeRoute creates a new route of nodes.

func (*NodeRoute) AddNode

func (nr *NodeRoute) AddNode(node *FileTreeNode)

AddNode adds a node to the end of the route.

func (*NodeRoute) ConvertToPath

func (nr *NodeRoute) ConvertToPath() (path []string)

ConvertToPath composes an array of path elements from a route. Due to the specifics of how the 'name' section is used in BitTorrent files of version 2, we must ignore the root node and process its value later in order to avoid duplicate names in the path.

func (*NodeRoute) RemoveNode

func (nr *NodeRoute) RemoveNode()

RemoveNode removes a node from the end of the route.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL