-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, Nov 17, 2015 at 01:55:17PM +0000, Chris Vine wrote: > On Tue, 17 Nov 2015 13:52:21 +0100 > <to...@tuxteam.de> wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > On Tue, Nov 17, 2015 at 12:59:56PM +0000, Chris Vine wrote: > > > On Tue, 17 Nov 2015 10:53:19 +0100 > > > > [...] > > > > > guile's R6RS implementation has get-bytevector-some, which will do > > > that for you, with unix-read-like behaviour. > > > > Thank you a thousand. You made me happy :-) > > I suppose it is worth adding that it might not be optimally efficient > for all uses, as there is no get-bytevector-some! procedure which > modifies an existing bytevector and takes a maximum length value. I > guess it is a matter of 'suck it and see', efficiency-wise. > > If you are sending/receiving binary packets, it might be better to make > them of fixed size and use get-bytevector-n!. (Unfortunately, > get-bytevector-n! does block until n is fulfilled according to R6RS: > "The get-bytevector-n! procedure reads from binary-input-port, blocking > as necessary, until count bytes are available from binary-input-port or > until an end of file is reached".)
:-( As I noted before, it's a while since I attempted that. I was looking for an equivalent of read(2) and write(2): simple, efficient, easy to understand semantics (if you discount the EOF problem for now). Perhaps the limitations you mention above steered me towards read-string!/partial and friends, then. Thanks & regards - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlZLLJcACgkQBcgs9XrR2kbS9gCeNM696u8KT9Fzq0fSifH8YKa3 VjEAn0KKx5Im4UNxUumiy0RroiKT3iDU =nAXY -----END PGP SIGNATURE-----