SocketRange

Input/Output range of In

Constructors

this
this(Socket socket)

ditto

Members

Functions

close
void close()

Close socket

popFront
void popFront()

Input range

put
auto put(Out value)
auto put(R range)
auto put(T args)
auto put(S str)

Output range

Properties

empty
bool empty [@property getter]
front
In front [@property getter]

Input range

inputRange
auto inputRange [@property getter]

Input range

outputRange
auto outputRange [@property getter]

Output range

socket
auto socket [@property getter]

Wrapped socket

Examples

import std.algorithm;

static assert(isInputRange!(SocketRange!char));
static assert(isOutputRange!(SocketRange!char, char));

auto pair = socketPair();
pair[0].setOption(SocketOptionLevel.SOCKET, SocketOption.RCVTIMEO, dur!"seconds"(10));
pair[1].setOption(SocketOptionLevel.SOCKET, SocketOption.RCVTIMEO, dur!"seconds"(10));

auto range = [
	SocketRange!char(pair[0]),
	SocketRange!char(pair[1]),
	];

range[0].put("foo");
range[0].close();
assert(equal(range[1], "foo"));

range[1].put("bar");
range[1].close();

Meta