From: Alexis Laferrière Date: Tue, 19 May 2015 02:26:49 +0000 (-0400) Subject: lib/socket: implement `write_byte` in `TCPStream` X-Git-Tag: v0.7.5~43^2~2 X-Git-Url: http://nitlanguage.org lib/socket: implement `write_byte` in `TCPStream` Signed-off-by: Alexis Laferrière --- diff --git a/lib/socket/socket.nit b/lib/socket/socket.nit index 681e239..b3cb2f9 100644 --- a/lib/socket/socket.nit +++ b/lib/socket/socket.nit @@ -147,6 +147,12 @@ class TCPStream socket.write(msg.to_s) end + redef fun write_byte(value) + do + if closed then return + socket.write_byte value + end + fun write_ln(msg: Text) do if end_reached then return diff --git a/lib/socket/socket_c.nit b/lib/socket/socket_c.nit index 8758cdf..a574485 100644 --- a/lib/socket/socket_c.nit +++ b/lib/socket/socket_c.nit @@ -132,6 +132,11 @@ extern class NativeSocket `{ int* `} return write(*recv, (char*)String_to_cstring(buffer), String_length(buffer)); `} + # Write `value` as a single byte + fun write_byte(value: Int): Int `{ + return write(*recv, &value, 1); + `} + fun read: String import NativeString.to_s_with_length `{ static char c[1024]; int n = read(*recv, c, 1024);