Move to libev as the backend.
Change the default backlog size from 5 to 4.
Store :read-cb in 'socket' (struct).
Write asynchronously.
Tweak tcp-read-cb.
Fix write-socket-data to iterate correctly.
Stop writing watcher even if the socket is not found (probably already closed).
Don't close a socket when getting EOF.
Error handling in write-socket-data.
Tweak tcp-read-cb.
Don't stop writing io when write-socket-data failed.
Refactor. Allocate ev_io for writing when make-socket.
Rename socket-closed-p -> socket-open-p.
Use +max-backlog-size+ as the default backlog size.
Don't 'close' when close-socket.
close-socket when getting EOF.
Tweak write-socket-data.
Add type declarations to defstruct of socket.
Change the type of socket-buffer to fast-io:output-buffer.
Call close-socket when exiting an event-loop.