lib/socket: implement `write_byte` in `TCPStream`
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 19 May 2015 02:26:49 +0000 (22:26 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 19 May 2015 16:24:07 +0000 (12:24 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/socket/socket.nit
lib/socket/socket_c.nit

index 681e239..b3cb2f9 100644 (file)
@@ -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
index 8758cdf..a574485 100644 (file)
@@ -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);