[cl-plus-ssl-devel] trivial-gray-stream-mixin in cl+ssl

Anton Vodonosov avodonosov at yandex.ru
Sun Mar 10 06:42:53 UTC 2013


Fixed cl+ss by changing 
(defclass ssl-stream
    (fundamental-binary-input-stream
     fundamental-binary-output-stream
     trivial-gray-stream-mixin)

to

(defclass ssl-stream
    (trivial-gray-stream-mixin
     fundamental-binary-input-stream
     fundamental-binary-output-stream)

Further discussion of fixing trivial-gray-streams will happen on
trivial-gray-streams-devel.

Best regards,
- Anton

10.03.2013, 04:08, "Anton Vodonosov" <avodonosov at yandex.ru>:
> Hello James,
>
> Thanks for the report.
>
> Indeed, unpleasant subtle issue. You are on CLISP or CCL, right?
>
> I am thinking how to fix it in trivial-gray-streams. If it will be impossible/difficult,
> then I will just fix cl+ssl as you suggests.
>
> Forwarding to both mailing lists for now.
>
> Best regards,
> - Anton
>
> 10.03.2013, 00:10, "James M. Lawrence" <llmjjmll at gmail.com>:
>
>>  Hello, I noticed that cl+ssl has the same issue that I recently had
>>  with gray streams.
>>
>>  (defclass my-stream
>>      (trivial-gray-streams:fundamental-binary-input-stream
>>       trivial-gray-streams:fundamental-binary-output-stream
>>       trivial-gray-streams:trivial-gray-stream-mixin)
>>    ())
>>
>>  (defmethod trivial-gray-streams:stream-write-byte
>>      ((stream my-stream) byte)
>>    (format t "~&write-byte ~s~%" byte))
>>
>>  (defmethod trivial-gray-streams:stream-write-sequence
>>      ((stream my-stream) seq start end &key)
>>    (format t "~&write-sequence ~s ~s ~s~%" seq start end))
>>
>>  (defun test ()
>>    (write-sequence #(3 4 5) (make-instance 'my-stream)))
>>
>>  CL-USER> (test)
>>  write-byte 3
>>  write-byte 4
>>  write-byte 5
>>
>>  The mixin should be the first superclass. With that change, we get
>>
>>  CL-USER> (test)
>>  write-sequence #(3 4 5) 0 3
>>
>>  Best,
>>  James
>
> _______________________________________________
> cl-plus-ssl-devel mailing list
> cl-plus-ssl-devel at common-lisp.net
> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/cl-plus-ssl-devel




More information about the cl-plus-ssl-devel mailing list