summaryrefslogtreecommitdiff
path: root/src/server_find.c
diff options
context:
space:
mode:
authorJakub Sławiński2005-08-05 21:45:31 +0200
committerJoshua Judson Rosen2014-07-17 21:14:59 +0200
commit43e8714797d40bcf63efab428dcd25f9caf1d52b (patch)
tree796974a873a97f2a44f872f3dd3587508e35aa64 /src/server_find.c
parentv0.7.1 (diff)
downloadapf-43e8714797d40bcf63efab428dcd25f9caf1d52b.tar.gz
v0.7.2
- Added: http proxy basic authorization - Fixed: logging initialization after some value checking - Fixed: auto-reconnect failure when --nossl option is set - Added: auto-reconnect when afserver is not reachable on start - Added: auto-reconnect after normal afserver quit - Added: per user statistics: idle time, amount of downloaded/uploaded bytes and current download/upload rate - Added: support for https proxies - Added: possibility to bind sockets on different interfaces - Fixed: receiving incomplete headers from afclient - Fixed: close user connections by afclient
Diffstat (limited to 'src/server_find.c')
-rw-r--r--src/server_find.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server_find.c b/src/server_find.c
index 80148e4..73cb9ba 100644
--- a/src/server_find.c
+++ b/src/server_find.c
@@ -29,8 +29,11 @@ find_client(RealmT* ptr, char mode, int usrclipair)
switch(mode) {
case 1: { /* fill first client before go to next */
for (i = 0; i < ptr->clinum; ++i) {
- if ((ptr->clitable[i].ready == 3) && (ptr->clitable[i].whatusrcli == usrclipair)) {
- if (ptr->clitable[i].usercon < ptr->clitable[i].usernum) {
+ if ((ConnectClient_get_state(ptr->clitable[i]) ==
+ CONNECTCLIENT_STATE_ACCEPTED) &&
+ (ConnectClient_get_usrCliPair(ptr->clitable[i]) == usrclipair)) {
+ if (ConnectClient_get_connected(ptr->clitable[i]) <
+ ConnectClient_get_limit(ptr->clitable[i])) {
return i;
}
}
@@ -45,12 +48,12 @@ find_client(RealmT* ptr, char mode, int usrclipair)
}
int
-find_usernum(ConnectclientT* ptr, int usernum)
+find_usernum(ConnectClient* ptr, int usernum)
{
int i;
- for (i = 0; i < ptr->usernum; ++i) {
- if (ptr->users[i] == -1) {
- ptr->users[i] = usernum;
+ for (i = 0; i < ConnectClient_get_limit(ptr); ++i) {
+ if (ConnectClient_get_users(ptr)[i] == -1) {
+ ConnectClient_get_users(ptr)[i] = usernum;
return i;
}
}