summaryrefslogtreecommitdiffstats
path: root/src/lib/asiolink/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/asiolink/README')
-rw-r--r--src/lib/asiolink/README28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/asiolink/README b/src/lib/asiolink/README
new file mode 100644
index 0000000..83f66b8
--- /dev/null
+++ b/src/lib/asiolink/README
@@ -0,0 +1,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.