pump

package module
v0.0.0-...-62f6bec Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2019 License: AGPL-3.0 Imports: 7 Imported by: 0

README

Pump

Transmit large files over lossy networks using fountain codes

https://godoc.org/github.com/sudhirj/pump

CircleCI

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ChunkRatioInvalid = errors.New("the ratio of chunk to packet size is too high - either use larger packets or a smaller chunk")

Functions

This section is empty.

Types

type Chunk

type Chunk struct {
	Object     Object
	Size       int64
	Offset     int64
	PacketSize int64
}

type FountainBlock

type FountainBlock = fountain.LTBlock

type Object

type Object struct {
	ID   string
	Size int64
}

type Packet

type Packet struct {
	Chunk Chunk
	Block FountainBlock
}

type Receiver

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

func NewReceiver

func NewReceiver() *Receiver

func (*Receiver) Idle

func (rx *Receiver) Idle() bool

func (*Receiver) PrepareForReception

func (rx *Receiver) PrepareForReception(o Object, w io.WriterAt)

func (*Receiver) Receive

func (rx *Receiver) Receive(packet Packet)

type Transmitter

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

func NewTransmitter

func NewTransmitter() *Transmitter

func (*Transmitter) ActivateChunk

func (tx *Transmitter) ActivateChunk(chunk Chunk) error

func (*Transmitter) AddObject

func (tx *Transmitter) AddObject(id string, r io.ReaderAt, totalSize int64) (o Object)

func (*Transmitter) DeactivateChunk

func (tx *Transmitter) DeactivateChunk(chunk Chunk)

func (*Transmitter) GeneratePacket

func (tx *Transmitter) GeneratePacket() (packet Packet)

Jump to

Keyboard shortcuts

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