Event enum is now .pure.

Modified getMaxFds() to work more properly.
Removed seqs from code
Some exceptions replaced with doAssert
This commit is contained in:
cheatfate 2016-06-26 09:51:01 +03:00
commit 2eb34a8129
2 changed files with 377 additions and 446 deletions

File diff suppressed because it is too large Load diff

View file

@ -38,8 +38,8 @@ when not defined(windows):
var client_socket = create_test_socket() var client_socket = create_test_socket()
var server_socket = create_test_socket() var server_socket = create_test_socket()
registerHandle(selector, server_socket, {eventRead}, 0) registerHandle(selector, server_socket, {Event.Read}, 0)
registerHandle(selector, client_socket, {eventWrite}, 0) registerHandle(selector, client_socket, {Event.Write}, 0)
var option : int32 = 1 var option : int32 = 1
if setsockopt(server_socket, cint(SOL_SOCKET), cint(SO_REUSEADDR), if setsockopt(server_socket, cint(SOL_SOCKET), cint(SO_REUSEADDR),
@ -67,13 +67,13 @@ when not defined(windows):
cast[ptr SockAddr](addr(sockAddress)), cast[ptr SockAddr](addr(sockAddress)),
addr(addrLen)) addr(addrLen))
assert(server2_socket != osInvalidSocket) assert(server2_socket != osInvalidSocket)
selector.registerHandle(server2_socket, {eventRead}, 0) selector.registerHandle(server2_socket, {Event.Read}, 0)
if posix.send(client_socket, addr(client_message[0]), if posix.send(client_socket, addr(client_message[0]),
len(client_message), 0) == -1: len(client_message), 0) == -1:
raiseOSError(osLastError()) raiseOSError(osLastError())
selector.updateHandle(client_socket, {eventRead}) selector.updateHandle(client_socket, {Event.Read})
var rc2 = selector.select(100) var rc2 = selector.select(100)
assert(len(rc2) == 1) assert(len(rc2) == 1)
@ -90,13 +90,13 @@ when not defined(windows):
break break
assert(test1) assert(test1)
selector.updateHandle(server2_socket, {eventWrite}) selector.updateHandle(server2_socket, {Event.Write})
var rc3 = selector.select(0) var rc3 = selector.select(0)
assert(len(rc3) == 1) assert(len(rc3) == 1)
if posix.send(server2_socket, addr(server_message[0]), if posix.send(server2_socket, addr(server_message[0]),
len(server_message), 0) == -1: len(server_message), 0) == -1:
raiseOSError(osLastError()) raiseOSError(osLastError())
selector.updateHandle(server2_socket, {eventRead}) selector.updateHandle(server2_socket, {Event.Read})
var rc4 = selector.select(100) var rc4 = selector.select(100)
assert(len(rc4) == 1) assert(len(rc4) == 1)
@ -238,7 +238,7 @@ when not defined(windows):
var event = newEvent() var event = newEvent()
for i in 0..high(thr): for i in 0..high(thr):
createThread(thr[i], event_wait_thread, event) createThread(thr[i], event_wait_thread, event)
selector.registerHandle(sock, {eventRead}, 1) selector.registerHandle(sock, {Event.Read}, 1)
discard selector.select(500) discard selector.select(500)
selector.unregister(sock) selector.unregister(sock)
event.setEvent() event.setEvent()
@ -273,8 +273,8 @@ else:
var client_socket = create_test_socket() var client_socket = create_test_socket()
var server_socket = create_test_socket() var server_socket = create_test_socket()
selector.registerHandle(server_socket, {eventRead}, 0) selector.registerHandle(server_socket, {Event.Read}, 0)
selector.registerHandle(client_socket, {eventWrite}, 0) selector.registerHandle(client_socket, {Event.Write}, 0)
var option : int32 = 1 var option : int32 = 1
if setsockopt(server_socket, cint(SOL_SOCKET), cint(SO_REUSEADDR), if setsockopt(server_socket, cint(SOL_SOCKET), cint(SO_REUSEADDR),
@ -305,13 +305,13 @@ else:
cast[ptr SockAddr](addr(sockAddress)), cast[ptr SockAddr](addr(sockAddress)),
addr(addrLen)) addr(addrLen))
assert(server2_socket != osInvalidSocket) assert(server2_socket != osInvalidSocket)
selector.registerHandle(server2_socket, {eventRead}, 0) selector.registerHandle(server2_socket, {Event.Read}, 0)
if send(client_socket, cast[pointer](addr(client_message[0])), if send(client_socket, cast[pointer](addr(client_message[0])),
cint(len(client_message)), 0) == -1: cint(len(client_message)), 0) == -1:
raiseOSError(osLastError()) raiseOSError(osLastError())
selector.updateHandle(client_socket, {eventRead}) selector.updateHandle(client_socket, {Event.Read})
var rc2 = selector.select(100) var rc2 = selector.select(100)
assert(len(rc2) == 1) assert(len(rc2) == 1)