Mixes for Privacy and Anonymity in the Internet
Classes | Defines | Functions
CAAccountingInstance.hpp File Reference

Classes

struct  AccountLoginHashEntry
struct  SettleEntry
class  CAAccountingInstance
 This is the AI (accounting instance or abrechnungsinstanz in german) class. More...
struct  CAAccountingInstance::t_aiqueueitem

Defines

#define CHALLENGE_TIMEOUT   15
#define HARD_LIMIT_TIMEOUT   30
#define AUTH_TIMEOUT   15
#define CRITICAL_SUBSEQUENT_BI_CONN_ERRORS   5
#define CLIENT_VERSION_STR_LEN   20
#define PREPAID_PROTO_CLIENT_VERSION   "00.10.057"
#define CRITICAL_SETTLE_FLAGS   (AUTH_INVALID_ACCOUNT | AUTH_ACCOUNT_EMPTY | AUTH_BLOCKED | AUTH_UNKNOWN)

Functions

bool testAndSetLoginOwner (struct AccountLoginHashEntry *loginEntry, struct t_fmhashtableentry *ownerRef)
 if the current login entry isn't locked by a login thread the calling login-thread obtains ownership
bool resetLoginOngoing (struct AccountLoginHashEntry *loginEntry, struct t_fmhashtableentry *ownerRef)
 indicates that the ongoing login process for this entry is finished but doesn't reset ownership.
bool testLoginEntryOwner (struct AccountLoginHashEntry *loginEntry, fmHashTableEntry *ownerRef)
 tests whether the corresponding ownerEntry owns this loginEntry.
bool isLoginOngoing (struct AccountLoginHashEntry *loginEntry, struct t_fmhashtableentry *ownerRef)
 test whether this entry is currently resrved by an ongoing login process.
bool testLoginEntryOwner_internal (struct AccountLoginHashEntry *loginEntry, struct t_fmhashtableentry *ownerRef)

Define Documentation

#define AUTH_TIMEOUT   15
#define CHALLENGE_TIMEOUT   15
#define CLIENT_VERSION_STR_LEN   20
#define HARD_LIMIT_TIMEOUT   30
#define PREPAID_PROTO_CLIENT_VERSION   "00.10.057"

Function Documentation

bool isLoginOngoing ( struct AccountLoginHashEntry loginEntry,
struct t_fmhashtableentry ownerRef 
)

test whether this entry is currently resrved by an ongoing login process.

References CAMutex::lock(), AccountLoginHashEntry::loginOngoing, AccountLoginHashEntry::ownerLock, and CAMutex::unlock().

Referenced by CAAccountingInstance::cleanupTableEntry().

bool resetLoginOngoing ( struct AccountLoginHashEntry loginEntry,
struct t_fmhashtableentry ownerRef 
)

indicates that the ongoing login process for this entry is finished but doesn't reset ownership.

References CAMutex::lock(), AccountLoginHashEntry::loginOngoing, AccountLoginHashEntry::ownerLock, testLoginEntryOwner_internal(), and CAMutex::unlock().

Referenced by CAAccountingInstance::unlockLogin().

bool testAndSetLoginOwner ( struct AccountLoginHashEntry loginEntry,
struct t_fmhashtableentry ownerRef 
)

if the current login entry isn't locked by a login thread the calling login-thread obtains ownership

References CAMutex::lock(), AccountLoginHashEntry::loginOngoing, AccountLoginHashEntry::ownerLock, AccountLoginHashEntry::ownerRef, and CAMutex::unlock().

Referenced by CAAccountingInstance::handleChallengeResponse_internal().

bool testLoginEntryOwner ( struct AccountLoginHashEntry loginEntry,
fmHashTableEntry ownerRef 
)

tests whether the corresponding ownerEntry owns this loginEntry.

References CAMutex::lock(), AccountLoginHashEntry::ownerLock, testLoginEntryOwner_internal(), and CAMutex::unlock().

Referenced by CAAccountingInstance::cleanupTableEntry().

bool testLoginEntryOwner_internal ( struct AccountLoginHashEntry loginEntry,
struct t_fmhashtableentry ownerRef 
)