poster

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2025 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculateHash added in v0.0.4

func CalculateHash(buff []byte) string

Types

type Post

type Post struct {
	FilePath string
	Articles []*article.Article
	Status   PostStatus
	Error    error
	Retries  int
	// contains filtered or unexported fields
}

Post represents a file to be posted

type PostStatus

type PostStatus int

PostStatus represents the status of a post

const (
	PostStatusPending PostStatus = iota
	PostStatusPosted
	PostStatusVerified
	PostStatusFailed
	PostStatusCancelled
	PostStatusPosting
)

type Poster

type Poster interface {
	// Post posts files from a directory to Usenet
	Post(ctx context.Context, files []string, rootDir string, nzbGen nzb.NZBGenerator) error
	// Stats returns posting statistics
	Stats() Stats
	// Close closes the poster
	Close()
}

Poster defines the interface for posting articles to Usenet

func New

func New(ctx context.Context, cfg config.Config, jobProgress progress.JobProgress) (Poster, error)

New creates a new poster

type Stats

type Stats struct {
	ArticlesPosted  int64
	ArticlesChecked int64
	BytesPosted     int64
	ArticleErrors   int64
	StartTime       time.Time
	// contains filtered or unexported fields
}

Stats tracks posting statistics

type Throttle

type Throttle struct {
	// contains filtered or unexported fields
}

Throttle handles rate limiting

func NewThrottle added in v0.0.6

func NewThrottle(rate int64, interval time.Duration) *Throttle

NewThrottle creates a new throttle with the given rate and interval

func (*Throttle) Wait

func (t *Throttle) Wait(bytes int64)

Wait waits for bytes to be available

Jump to

Keyboard shortcuts

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