#include "packet_cache.h"#include "packet.h"#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>Go to the source code of this file.
Defines | |
| #define | DEBUGLOCKS |
Functions | |
| int | InitCache () |
| unsigned short | HashKey (char *Key, int KeyLen) |
| void | FreeSaved (int SaveID) |
| void | FreeSaveQuery (SaveQuery *q) |
| void | TimeoutSavedPackets (long CurTime) |
| int | GetFreeSaved () |
| int | SavePacket (int PacketSlot, char *Key, int KeyLen, int Timeout) |
| SaveQuery * | GetAndLockSavedPackets (char *Key, int KeyLen) |
| void | UnlockSavedQuery (SaveQuery *q) |
Variables | |
| pthread_mutex_t | SavedMutex |
| int | SaveLockID |
| SaveRec | Saves [MAX_SAVES] |
| SaveBin | SBins [65536] |
| int | SaveTimeHead |
| int | SaveTimeTail |
| GlobalVars | Globals |
| #define DEBUGLOCKS |
Definition at line 17 of file packet_cache.c.
| void FreeSaved | ( | int | SaveID | ) |
Definition at line 65 of file packet_cache.c.
References FALSE, Globals, HashKey(), hlbr_mutex_unlock(), save_rec::InUse, save_rec::Key, save_rec::KeyLen, packet_rec::Mutex, save_rec::NextTime, NULL, save_bin::NumInBin, global_vars::Packets, save_rec::PacketSlot, save_rec::PrevTime, ReturnEmptyPacket(), packet_rec::SaveCount, global_vars::SavedCount, Saves, SaveTimeHead, SaveTimeTail, and SBins.
Referenced by FreeSaveQuery(), and TimeoutSavedPackets().
| void FreeSaveQuery | ( | SaveQuery * | q | ) |
Definition at line 123 of file packet_cache.c.
References FREE_SAVED_1, FreeSaved(), hlbr_mutex_lock(), hlbr_mutex_unlock(), save_query::NumResults, SavedMutex, SaveLockID, and save_query::Saves.
| SaveQuery* GetAndLockSavedPackets | ( | char * | Key, | |
| int | KeyLen | |||
| ) |
Definition at line 260 of file packet_cache.c.
References DEBUG, GET_SAVED_1, GET_SAVED_2, GET_SAVED_3, Globals, HashKey(), hlbr_mutex_lock(), hlbr_mutex_unlock(), save_bin::Items, save_rec::Key, save_rec::KeyLen, save_rec::LockID, packet_rec::LockID, MAX_QUERY_RESULTS, save_rec::Mutex, packet_rec::Mutex, save_bin::NumInBin, save_query::NumResults, global_vars::Packets, save_query::Packets, save_rec::PacketSlot, SavedMutex, SaveLockID, Saves, save_query::Saves, and SBins.
| int GetFreeSaved | ( | ) |
Definition at line 183 of file packet_cache.c.
References MAX_SAVES, and Saves.
Referenced by SavePacket().
| unsigned short HashKey | ( | char * | Key, | |
| int | KeyLen | |||
| ) |
Definition at line 39 of file packet_cache.c.
Referenced by FreeSaved(), GetAndLockSavedPackets(), and SavePacket().
| int InitCache | ( | ) |
| int SavePacket | ( | int | PacketSlot, | |
| char * | Key, | |||
| int | KeyLen, | |||
| int | Timeout | |||
| ) |
Definition at line 198 of file packet_cache.c.
References FALSE, GetFreeSaved(), Globals, HashKey(), hlbr_mutex_lock(), hlbr_mutex_unlock(), save_rec::InUse, save_bin::Items, save_rec::Key, save_rec::KeyLen, packet_rec::LockID, MAX_SAVES_PER_BIN, packet_rec::Mutex, save_rec::NextTime, save_bin::NumInBin, global_vars::Packets, save_rec::PacketSlot, SAVE_PACKET_1, SAVE_PACKET_2, packet_rec::SaveCount, SavedMutex, SaveLockID, Saves, SaveTimeHead, SaveTimeTail, SBins, save_rec::Timeout, TimeoutSavedPackets(), TRUE, and packet_rec::tv.
| void TimeoutSavedPackets | ( | long | CurTime | ) |
Definition at line 148 of file packet_cache.c.
References FreeSaved(), Globals, hlbr_mutex_lock(), hlbr_mutex_unlock(), global_vars::SavedCount, Saves, SaveTimeHead, and TIMEOUT_SAVED_1.
Referenced by SavePacket().
| void UnlockSavedQuery | ( | SaveQuery * | q | ) |
Definition at line 314 of file packet_cache.c.
References Globals, hlbr_mutex_lock(), hlbr_mutex_unlock(), packet_rec::Mutex, save_rec::Mutex, save_query::NumResults, global_vars::Packets, save_rec::PacketSlot, SavedMutex, SaveLockID, Saves, save_query::Saves, and UNLOCK_SAVED_1.
| pthread_mutex_t SavedMutex |
Definition at line 8 of file packet_cache.c.
Referenced by FreeSaveQuery(), GetAndLockSavedPackets(), SavePacket(), and UnlockSavedQuery().
| int SaveLockID |
Definition at line 9 of file packet_cache.c.
Referenced by FreeSaveQuery(), GetAndLockSavedPackets(), SavePacket(), and UnlockSavedQuery().
Definition at line 10 of file packet_cache.c.
Referenced by FreeSaved(), GetAndLockSavedPackets(), GetFreeSaved(), InitCache(), SavePacket(), TimeoutSavedPackets(), and UnlockSavedQuery().
| int SaveTimeHead |
Definition at line 13 of file packet_cache.c.
Referenced by FreeSaved(), SavePacket(), and TimeoutSavedPackets().
| int SaveTimeTail |
Definition at line 11 of file packet_cache.c.
Referenced by FreeSaved(), GetAndLockSavedPackets(), InitCache(), and SavePacket().
1.5.2