Project

General

Profile

Change request #581

Implement custom basic IRC library

Added by David Demelier over 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
irccd
Target version:
Start date:
11/24/2016
Due date:
% Done:

100%

Estimated time:
24.00 h
Spent time:
MFD after:
MFD revision:
Branch:
default
Bookmark:
libirc
Platform:

Description

Use Boost.Asio to implement a custom IRC library and replace libircclient.

Associated revisions

Revision 549:6b4e07e6dc18 (diff)
Added by David Demelier over 1 year ago

Irccd: finish custom IRC library, closes #581

Finally remove the lovely libircclient that has been used since the
beginning of irccd back in 2013.

Several issues made the choice of developing a custom IRC library:

- libircclient requires select(2) system call and works in procedural
paradigm which is incompatible with our Boost.Asio main loop,
- there was no way in the libircclient to detect custom message like
PING to handle dead servers, this required to bundle the library
within the application,
- the library use static output buffer which requires to keep an
internal queue of commands that we flush at each iteration.

History

#1

Updated by David Demelier over 1 year ago

  • Bookmark changed from @ to libirc
#2

Updated by David Demelier over 1 year ago

  • % Done changed from 0 to 100
  • Status changed from New to Resolved
#3

Updated by David Demelier over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF