summaryrefslogtreecommitdiffstats
path: root/src/lib/asiolink/README
blob: 83f66b8993acca6f283b6290a1ce054e622e926f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
The asiolink library is intended to provide an abstraction layer between
Kea modules and the socket I/O subsystem we are using (currently, the
headers-only version of ASIO included in Boost).  This has several benefits,
including:

  - Simple interface

  - Back-end flexibility: It would be relatively easy to switch to any
    other asynchronous I/O system.

  - Cleaner compilation:  The ASIO headers include code which can
    generate warnings in some compilers due to unused parameters and
    such.  Including ASIO header files throughout the Kea tree would
    require us to relax the strictness of our error checking.  Including
    them in only one place allows us to relax strictness here, while
    leaving it in place elsewhere.

Some of the classes defined here--for example, IOSocket, IOEndpoint,
and IOAddress--are to be used by Kea modules as wrappers around
ASIO-specific classes.


Logging
-------

At this point, nothing is logged by this low-level library. We may
revisit that in the future, if we find suitable messages to log, but
right now there are also no loggers initialized or called.