Frequently Asked Questions

Q1) Is this the same thing as db-sockets

A1) Basically, yes.  It's hoped that bundling it as a contrib may make
it easier for people to install.

Q2) What are these test things?  How do I run the tests?

A2) Some of the tests get run automatically when the package is built
- if the tests fail, the package is not installed.  The rest of the
tests depend on having Internet access which may not always be the
case on a build machine, but you can run them by hand from the Lisp
listener, if you want to:

* (rt:do-tests)

This uses the regression tester from the CMU AI repository to run the
tests defined in tests.lisp.  You should not get any test failures,
unless -

a) your "echo" services are disabled in inetd.conf -
SIMPLE-TCP-CLIENT and SIMPLE-UDP-CLIENT both attempt to connect to the
echo port.

b) you're not on the internet - SIMPLE-HTTP-CLIENT attempts to connect to
ww.telent.net, and other tests do DNS lookups for well-known hosts

c) a.root-servers.net has moved IP address

Q3) What's constants.lisp-temp?

A3) Many of the structure offsets and symbolic constants vary between
architectures and operating systems.  To avoid a maintenance
nightmare, we derive them automatically by creating and running a
small C program.  The C program is created by def-to-lisp.lisp
with input from constants.lisp

Some of the exciting stuff in bsd-sockets.asd writes a C program in
/tmp, compiles it, and runs it.  The output from this program becomes
constants.lisp-temp

Q4) Is this compatible with ACL?  With CMUCL's internet.lisp?

A4) No.  This is a sufficiently low-level interface that either could
be built on top of it, though.  Actually, the ACL-COMPAT library that
comes with Portable Allegroserve may already have this.
