Easy sockets - don't exist yet?
Vincent
thornik at gmail.com
Sat Dec 3 11:08:53 UTC 2022
On Monday, 10 October 2016 at 02:54:09 UTC, Jonathan M Davis
wrote:
> Quite some time ago, it was decided that the *stream modules as
> they were were unacceptable and that they needed to be replaced
> with something range-based
That's the key! Absolutely dilettantish solution of "profi",
biased on ranges.
Unfortunately even TECHNICALLY stream never was a "range"! It's
more like "queue of bytes", where you can never be sure you even
get these bytes.
Moreover - "socket stream" is such a specific stream that you
cannot assume even bytes data! Many protocols rely on STRINGS, so
SocketStream have to have dual nature - byte-based and
string-based. Even worse - if you read stupid HTTP standard, it
allows for server to reply with strings (header), followed by RAW
BYTES(!). Surprise! So in this light we cannot speak about ranges
AT ALL. We need stream, which supports strings and at the same
time bytes. And all of that in convenient way, not just "auto b =
GimmeStupidHeapOfBytesWhichAreString".
Anyway, it's quite unprofessional to remove SocketStream: it DOES
NOT fit at all in "range" ideology (as well as, say, Window or
Button) and lives own life. "Ranges" just PART of library, not a
whole library! In other words not everything in a library should
follow "ranges ideology".
I ask to return standard SocketStream and keep it until that
"smartie" (who remove it) will write fully functional replacement.
Nobody will use D if maintainers will stupidly throw away classes
by own wish. Keep functionality as big as possible, because D
even now, after "stable language", still lie on road edge.
More information about the Digitalmars-d-learn
mailing list