| (in-package :cl-user) |
| (defpackage clack.socket |
| (:use :cl) |
| (:export :read-callback |
| :close-socket |
| :write-sequence-to-socket |
| :write-byte-to-socket |
| :write-sequence-to-socket-buffer |
| :write-byte-to-socket-buffer |
| :flush-socket-buffer |
| :socket-async-p |
| :socket-stream)) |
| (in-package :clack.socket) |
|
|
| |
| (defgeneric read-callback (socket)) |
|
|
| |
| (defgeneric (setf read-callback) (callback socket)) |
|
|
| |
| (defgeneric close-socket (socket)) |
|
|
| |
| (defgeneric write-sequence-to-socket (socket data &key callback)) |
|
|
| |
| (defgeneric write-byte-to-socket (socket byte &key callback) |
| (:method (socket byte &key callback) |
| (write-sequence-to-socket socket |
| (make-array 1 :element-type '(unsigned-byte 8) |
| :initial-contents (list byte)) |
| :callback callback))) |
|
|
| |
| (defgeneric write-sequence-to-socket-buffer (socket data) |
| (:method (socket data) |
| (write-sequence-to-socket socket data))) |
|
|
| |
| (defgeneric write-byte-to-socket-buffer (socket byte) |
| (:method (socket byte) |
| (write-byte-to-socket socket byte))) |
|
|
| |
| (defgeneric flush-socket-buffer (socket &key callback) |
| (:method (socket &key callback) |
| (write-sequence-to-socket socket |
| #.(make-array 0 :element-type '(unsigned-byte 8)) |
| :callback callback))) |
|
|
| |
| (defgeneric socket-async-p (socket) |
| (:method (socket) |
| t)) |
|
|
| |
| |
| (defgeneric socket-stream (socket)) |
|
|