[flexi-streams-devel] Re: [Sbcl-devel] SB-KERNEL:LAYOUT-INVALID errors with flexi-stream in-memory streams

James Bielman jamesjb at jamesjb.com
Fri Aug 4 21:52:07 UTC 2006


Christophe Rhodes <csr21 at cam.ac.uk> writes:

> I don't have flexi-streams to hand; is there any oddness in
> make-in-memory-input-stream?  Or does it simply hand-off to
> make-instance?

It hands off to MAKE-INSTANCE:

(defmethod make-in-memory-input-stream ((vector vector) &optional (start 0)
                                                                  (end (length vector)))
  "Returns a binary input stream which will supply, in order, the
octets in the subsequence of VECTOR bounded by START and END."
  (make-instance 'vector-input-stream
                 :vector vector
                 :index start
                 :end end))

and the class (FWIW):

* (describe (find-class 'flexi-streams::vector-input-stream))

#<STANDARD-CLASS FLEXI-STREAMS::VECTOR-INPUT-STREAM> is a class. It is an
instance of STANDARD-CLASS.
Its proper name is FLEXI-STREAMS::VECTOR-INPUT-STREAM.
The direct superclasses are:
(FLEXI-STREAMS:VECTOR-STREAM FLEXI-STREAMS:IN-MEMORY-INPUT-STREAM), and the
direct subclasses are: ().
The class is finalized; its class precedence list is:
  (FLEXI-STREAMS::VECTOR-INPUT-STREAM FLEXI-STREAMS:VECTOR-STREAM
   FLEXI-STREAMS:IN-MEMORY-INPUT-STREAM FLEXI-STREAMS:IN-MEMORY-STREAM
   TRIVIAL-GRAY-STREAMS:TRIVIAL-GRAY-STREAM-MIXIN
   FUNDAMENTAL-BINARY-INPUT-STREAM FUNDAMENTAL-INPUT-STREAM
   FUNDAMENTAL-BINARY-STREAM FUNDAMENTAL-STREAM STANDARD-OBJECT
   SB-PCL::SLOT-OBJECT STREAM T).
There are 8 methods specialized for this class.

I'm still trying to pull out a self-contained testcase but having no luck.

Thanks,
James



More information about the Flexi-streams-devel mailing list