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

Safe HaskellNone
LanguageHaskell2010

Network.IRC.DCC

Contents

Description

DCC command parsing and encoding module.

Example of parsing an offer file command:

runParser parseOfferFile ctcpMessage

Example of encoding an offer file command:

encodeCtcp offerFile

Synopsis

Types

DCC service

data Service Source

Type of DCC service offered

Constructors

Messaging OpenChat

Offer chat session

FileTransfer OfferFile

Offer file transfer

Messaging commands (DCC CHAT)

data OpenChat Source

Type of DCC chat to open

Constructors

Chat IPv4 PortNumber

Text messages exchange

DCC CHAT chat <ip> <port>
Whiteboard IPv4 PortNumber

Drawing commands exchange

DCC CHAT wboard <ip> <port>

data CloseChat Source

Signal intent to close DCC chat connection

Constructors

CloseChat
DCC CLOSE

File Transfer commands (DCC SEND)

data OfferFile Source

DCC file transfer instructions

Constructors

OfferFile TransferType FileMetadata

DCC:

DCC SEND <fileName> <ip> <port> (<fileSize>)

Reverse DCC:

DCC SEND <fileName> <ip> 0 <fileSize> <token>

data TryResumeFile Source

Signal intent to resume DCC file transfer at specific position

Constructors

TryResumeFile TransferType FileMetadata FileOffset

DCC:

DCC RESUME <fileName> <port> <position>

Reverse DCC:

DCC RESUME <fileName> 0 <position> <token>

data AcceptResumeFile Source

Signal acceptance to resume DCC file transfer at specific position

Constructors

AcceptResumeFile TransferType FileMetadata FileOffset

DCC:

DCC ACCEPT <fileName> <port> <position>

Reverse DCC:

DCC ACCEPT <fileName> 0 <position> <token>

data OfferFileSink Source

Signal readiness to accept a connection (only Reverse DCC)

Constructors

OfferFileSink Token FileMetadata IPv4 PortNumber

Reverse DCC:

DCC SEND <fileName> <ip> <port> <fileSize> <token>

Helper Types

data TransferType Source

Type of a DCC file transfer connection

Constructors

Active IPv4 PortNumber

Connection where the owner of the file offers a socket to connect to

Passive IPv4 Token

Connection where the recipient of the file offers a socket to connect to

data FileMetadata Source

Properties of a file

newtype Token Source

An identifier for knowing which negotiation a request belongs to

Constructors

Token ByteString 

DCC command parsing