@@ -32,14 +32,14 @@ import Foundation
32
32
33
33
@_silgen_name ( " ytcpsocket_connect " ) private func c_ytcpsocket_connect( _ host: UnsafePointer < Byte > , port: Int32 , timeout: Int32 ) -> Int32
34
34
@_silgen_name ( " ytcpsocket_close " ) private func c_ytcpsocket_close( _ fd: Int32 ) -> Int32
35
+ @_silgen_name ( " ytcpsocket_bytes_available " ) private func c_ytcpsocket_bytes_available( _ fd: Int32 ) -> Int32
35
36
@_silgen_name ( " ytcpsocket_send " ) private func c_ytcpsocket_send( _ fd: Int32 , buff: UnsafePointer < Byte > , len: Int32 ) -> Int32
36
37
@_silgen_name ( " ytcpsocket_pull " ) private func c_ytcpsocket_pull( _ fd: Int32 , buff: UnsafePointer < Byte > , len: Int32 , timeout: Int32 ) -> Int32
37
38
@_silgen_name ( " ytcpsocket_listen " ) private func c_ytcpsocket_listen( _ address: UnsafePointer < Int8 > , port: Int32 ) -> Int32
38
39
@_silgen_name ( " ytcpsocket_accept " ) private func c_ytcpsocket_accept( _ onsocketfd: Int32 , ip: UnsafePointer < Int8 > , port: UnsafePointer < Int32 > , timeout: Int32 ) -> Int32
39
40
@_silgen_name ( " ytcpsocket_port " ) private func c_ytcpsocket_port( _ fd: Int32 ) -> Int32
40
41
41
42
open class TCPClient: Socket {
42
-
43
43
/*
44
44
* connect to server
45
45
* return success or fail with message
@@ -62,7 +62,7 @@ open class TCPClient: Socket {
62
62
}
63
63
}
64
64
}
65
-
65
+
66
66
/*
67
67
* close socket
68
68
* return success or fail with message
@@ -136,6 +136,21 @@ open class TCPClient: Socket {
136
136
137
137
return data
138
138
}
139
+
140
+ /*
141
+ * gets byte available for reading
142
+ */
143
+ open func bytesAvailable( ) -> Int32 ? {
144
+ guard let fd: Int32 = self . fd else { return nil }
145
+
146
+ let bytesAvailable = c_ytcpsocket_bytes_available ( fd) ;
147
+
148
+ if ( bytesAvailable < 0 ) {
149
+ return nil
150
+ }
151
+
152
+ return bytesAvailable
153
+ }
139
154
}
140
155
141
156
open class TCPServer : Socket {
0 commit comments