ditto
Wrapped socket
static assert(isOutputRange!(SocketOutputRange, int)); static assert(isOutputRange!(SocketOutputRange, char)); auto pair = socketPair(); auto sender = pair[0]; auto receiver = pair[1]; sender.setOption(SocketOptionLevel.SOCKET, SocketOption.RCVTIMEO, dur!"seconds"(10)); receiver.setOption(SocketOptionLevel.SOCKET, SocketOption.RCVTIMEO, dur!"seconds"(10)); auto range = SocketOutputRange(sender); put(range, 1); put(range, 2); put(range, 3); range.close(); import std.algorithm; assert(equal(SocketInputRange!int(receiver), [1, 2, 3]));
Output range wrapper