irc-dcc-2.0.1: A DCC message parsing and helper library for IRC clients

Safe HaskellNone
LanguageHaskell2010

Network.IRC.DCC.Client.FileTransfer

Contents

Description

Functions for receiving files.

Each chunk is acknowledged by sending the total sum of bytes received for a file. See the CTCP specification.

Synopsis

Start/resume DCC file transfer

acceptFile Source #

Arguments

:: DccSend 
-> (PortNumber -> IO ())

Callback when socket is ready

-> (FileOffset -> IO ())

Callback when a chunk of data was transfered

-> ReaderT (Maybe PortNumber) IO () 

Accept a DCC file offer

resumeFile Source #

Arguments

:: DccSend 
-> DccAccept 
-> (PortNumber -> IO ())

Callback when socket is ready

-> (FileOffset -> IO ())

Callback when a chunk of data was transferred

-> ReaderT (Maybe PortNumber) IO () 

Accept a DCC file offer for a partially downloaded file

Custom DCC file transfer

data FileTransfer m Source #

A description of a file transfer. You can specify a callback that will be called with the number of bytes transfered for each chunk.

data ConnectionType m Source #

Constructors

Active !IPv4 !PortNumber (m ())

Connects to other party on specified port. With callback when socket is ready.

Passive !IPv4 !(Maybe PortNumber) (PortNumber -> m ())

Binds to local port and waits for connection by other party. If no port number is provided, one will be provided by the OS. With callback when socket is ready.