[Coco] os9/drivewire driver: success!
William Astle
lost at l-w.ca
Tue Nov 10 14:54:36 EST 2009
Aaron Wolfe wrote:
> One question about combining SERREAD and SERCHECK:
>
> My original idea was that SERCHECK would return the number of bytes in
> the server's buffer, and then SERREAD would ask for a flush of X
> bytes, typically the number returned by SERCHECK. The server would
> then write out the # of bytes requested. This was (in my head) a way
> to improve performance for things like rzsz over the virtual serial
> port.
>
> By combining them, I will be cutting the potential throughput in half
> since there are two bytes for each data byte, and also taking a
> penalty of having to ask for each byte individually (which is
> admittedly how my current driver works, but it was supposed to be
> better :)
>
> Are there outside factors that mitigate the losses in combining the
> calls? If there is some other reason it will be slow anyway, then I
> agree it would make it simpler to combine them.
> -Aaron
Why not make the request include a maximum number of bytes to return.
Then have the response include the number of bytes returned and those bytes.
This would require tinkering the drivewire scheme so it could handle
variable length return packets in some manner but it should provide the
maximum theoretical efficiency.
More information about the Coco
mailing list