On Wed, Jun 16, 2021 at 2:25 PM George Neuner <[email protected]> wrote:

>
> On 6/16/2021 2:16 PM, David Storrs wrote:
>
> Damn.  Sorry, I posted out of sync versions of code and output.  This is
> correct:
>
> (define bstr (make-shared-bytes 509 5))
> (define rx-pipe-size 16777216)
> (define-values (rx-in rx-out) (make-pipe rx-pipe-size))
>
> (define (room-in-rx-pipe? bstr)
>   (define avail (- rx-pipe-size (pipe-content-length rx-out)))
>   (displayln (format "avail: ~a" avail))
>   (<= (bytes-length bstr) avail))
>
> (displayln (format "space available? ~a " (room-in-rx-pipe? bstr)))
> (displayln (format "pipe content length: ~a" (pipe-content-length rx-out)))
> (define num-bytes-written (write-bytes-avail* bstr rx-out))
> (unless (eq? num-bytes-written (bytes-length bstr))
>   (displayln (format "rx buffer overflow. pipe content length: ~a, written
> ~a, expected ~a"
>                      (pipe-content-length rx-out) num-bytes-written
> (bytes-length bstr))))
>
> (displayln "done")
>
> -------- output:
>
> avail: 16777216
> space available? #t
> pipe content length: 0
> rx buffer overflow. pipe content length: 15, written 15, expected 509
> done
>
>
>
> That's ok ... my analysis was wrong anyhow.   It looks like the problem is
> that "flush" is not defined ... or simply doesn't work ... on Racket's
> pipes.  *write-bytes-avail*  et al  depend on flush and so they won't
> work.  *write-bytes*  works fine, but will block if you fill the pipe.
>
> This looks like something for the development team.
>
> George
>

Yup!  That was the problem.  It works fine in 7.6, not in 8.0.  Thanks,
George.

> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/4836be0b-f785-9394-b18f-f5228970ba44%40comcast.net
> <https://groups.google.com/d/msgid/racket-users/4836be0b-f785-9394-b18f-f5228970ba44%40comcast.net?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAE8gKod26a2KC2FXyK2u9dADvQFhB90irnoGuwTi9RKXiFq34g%40mail.gmail.com.

Reply via email to