diff options
author | Karl Ramm <kcr@1ts.org> | 2009-04-10 01:17:18 +0000 |
---|---|---|
committer | Karl Ramm <kcr@1ts.org> | 2009-04-10 01:17:18 +0000 |
commit | 95297b57d5487ecffac1ce5e4df0fcf6832b9332 (patch) | |
tree | a9f839ceeebf5b93663e8a40f47fbd18d665e539 /server/server.c | |
parent | 64aad8a316c242007f4e90e5fd3b87c731d7f42b (diff) |
As in [2406], the C preprocessor has seen enough abuse; it is the
future, so we can abuse inline functions instead.
Diffstat (limited to 'server/server.c')
-rw-r--r-- | server/server.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/server/server.c b/server/server.c index d20d420..1abc03d 100644 --- a/server/server.c +++ b/server/server.c @@ -21,11 +21,16 @@ static const char rcsid_server_c[] = "$Id$"; #endif #endif -#define SRV_NACKTAB_HASHSIZE 1023 -#define SRV_NACKTAB_HASHVAL(which, uid) ((unsigned int) \ - ((which) ^ (uid).zuid_addr.s_addr ^ \ - (uid).tv.tv_sec ^ (uid).tv.tv_usec) \ - % SRV_NACKTAB_HASHSIZE) +enum { + SRV_NACKTAB_HASHSIZE = 1023 +}; +inline unsigned int +srv_nacktab_hashval(int which, ZUnique_Id_t uid) { + return (which ^ + uid.zuid_addr.s_addr ^ uid.tv.tv_sec ^ uid.tv.tv_usec) + % SRV_NACKTAB_HASHSIZE; +} + /* * Server manager. Deal with traffic to and from other servers. * @@ -1290,7 +1295,7 @@ server_forw_reliable(Server *server, nacked->packsz = packlen; nacked->uid = notice->z_uid; nacked->timer = timer_set_rel(rexmit_times[0], srv_rexmit, nacked); - hashval = SRV_NACKTAB_HASHVAL(nacked->dest.srv_idx, nacked->uid); + hashval = srv_nacktab_hashval(nacked->dest.srv_idx, nacked->uid); Unacked_insert(&srv_nacktab[hashval], nacked); } @@ -1337,7 +1342,7 @@ srv_nack_cancel(ZNotice_t *notice, syslog(LOG_ERR, "non-server ack?"); return; } - hashval = SRV_NACKTAB_HASHVAL(server - otherservers, notice->z_uid); + hashval = srv_nacktab_hashval(server - otherservers, notice->z_uid); for (nacked = srv_nacktab[hashval]; nacked; nacked = nacked->next) { if (nacked->dest.srv_idx == server - otherservers && ZCompareUID(&nacked->uid, ¬ice->z_uid)) { |