changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > core / lisp/lib/io/pkg.lisp

revision 431: c40d2a41d7ce
parent 279: efc3e9ec02bf
child 435: 849bbe48e32d
     1.1--- a/lisp/lib/io/pkg.lisp	Sat Jun 08 01:38:26 2024 -0400
     1.2+++ b/lisp/lib/io/pkg.lisp	Sun Jun 09 02:04:18 2024 -0400
     1.3@@ -12,27 +12,39 @@
     1.4 ;; class, something like IO-STREAM.
     1.5 
     1.6 ;;; Code:
     1.7-(defpackage :io
     1.8-  (:use :cl :std :obj/id :uring :sb-bsd-sockets)
     1.9+(defpackage :io/proto
    1.10+  (:use :cl :std/err)
    1.11+  (:export :io-error))
    1.12+
    1.13+(defpackage :io/ring
    1.14+  (:use :cl :uring :io/proto)
    1.15   (:import-from :sb-alien :addr)
    1.16-  (:import-from :uring :build)
    1.17-  (:shadowing-import-from :uring :load-uring)
    1.18-  (:export :load-uring :*io*
    1.19-   :init-io :enter-io :exit-io))
    1.20+  (:import-from :std/err :deferror))
    1.21 
    1.22-(in-package :io)
    1.23-
    1.24-(load-uring)
    1.25+(defpackage :io/stream
    1.26+  (:use :cl :io/proto)
    1.27+  (:import-from :std/err :deferror)
    1.28+  (:export :io-stream-error :io-stream))
    1.29 
    1.30-(defvar *io* nil)
    1.31+(defpackage :io/socket
    1.32+  (:use :cl :io/proto)
    1.33+  (:import-from :std/err :deferror)
    1.34+  (:export :io-socket-error :io-socket))
    1.35 
    1.36-(defun init-io (&optional (entries 256) (flags 0))
    1.37-  "Initialize the *IO* variable to an io-uring alien-value type using a
    1.38-queue size of ENTRIES and settings FLAGS."
    1.39-  (with-new-io-uring r
    1.40-    (if (= 0 (io-uring-queue-init entries (addr r) flags))
    1.41-        (setf *io* r)
    1.42-        (error "failed to initialize io-uring"))))
    1.43+(defpackage :io/flate
    1.44+  (:use :cl :io/proto)
    1.45+  (:import-from :std/err :deferror)
    1.46+  (:export :flate-error :compression-error :decompression-error
    1.47+   :*compression-buffer-size* :decompression-buffer-size* :finish-compression :finish-decompression
    1.48+   :reset-compressor :reset-decompressor :make-compressing-stream :make-decompressing-stream
    1.49+   :compress-object :decompress-object :compress :decompress
    1.50+   :compressor :compressing-stream :decompressor :decompressing-stream))
    1.51 
    1.52-(defun enter-io (ring))
    1.53-(defun exit-io (ring))
    1.54+(defpackage :io/zstd
    1.55+  (:use :cl :io/proto :io/flate)
    1.56+  (:import-from :std/err :deferror)
    1.57+  (:export :zstd-error :zstd-compressor :zstd-decompressor))
    1.58+
    1.59+(pkg:defpkg :io
    1.60+  (:use :cl)
    1.61+  (:use-reexport :io/proto :io/ring :io/flate :io/zstd :io/stream :io/socket))