Simple range wrapper of socket for D.
import std.algorithm : equal;
import std.socket : socketPair;
import socketrange;
void main() {
auto pair = socketPair();
/// Wrap as OutputRange
auto writer = SocketOutputRange!char(pair[0]);
/// Wrap as InputRange of char
auto reader = SocketInputRange!char(pair[1]);
write.put("foobar");
writer.close();
assert(equal(reader, "foobar"));
}
Wrap socket as OutputRange of E
.
E
can be void
to put any types.
Wrap socket as InputRange of T
.
Wrap socket as Output/InputRange of In.
Out
can be void
to put any types.