|
gwenhywfar 5.14.1
|
#include "multicache_p.h"#include <gwenhywfar/debug.h>
Go to the source code of this file.
Macros | |
| #define | DISABLE_DEBUGLOG |
| #define DISABLE_DEBUGLOG |
Definition at line 29 of file multicache.c.
| GWEN_IDMAP_FUNCTIONS | ( | GWEN_MULTICACHE_ENTRY | , |
| GWEN_MultiCache_Entry | ) |
| GWEN_LIST_FUNCTIONS | ( | GWEN_MULTICACHE_ENTRY | , |
| GWEN_MultiCache_Entry | ) |
| GWEN_LIST_FUNCTIONS | ( | GWEN_MULTICACHE_TYPE | , |
| GWEN_MultiCache_Type | ) |
| int GWEN_MultiCache_AddEntry | ( | GWEN_MULTICACHE * | mc, |
| GWEN_MULTICACHE_ENTRY * | e ) |
Definition at line 612 of file multicache.c.
References DBG_ERROR, GWEN_ERROR_MEMORY_FULL, GWEN_LOGDOMAIN, GWEN_MultiCache_Entry_GetCacheType(), GWEN_MultiCache_Entry_GetDataPtr(), GWEN_MultiCache_Entry_GetDataSize(), GWEN_MultiCache_ReleaseEntry(), and GWEN_MultiCache_Type_AttachData().
Referenced by GWEN_MultiCache_Type_SetData(), GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().


| void GWEN_MultiCache_Entry_free | ( | GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 61 of file multicache.c.
References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.
Referenced by GWEN_MultiCache_ReleaseEntry().

| GWEN_MULTICACHE_TYPE * GWEN_MultiCache_Entry_GetCacheType | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 95 of file multicache.c.
Referenced by GWEN_MultiCache_AddEntry(), GWEN_MultiCache_ReleaseEntriesForType(), GWEN_MultiCache_ReleaseEntry(), and GWEN_MultiCache_Type_GetIdsInCache().

| void * GWEN_MultiCache_Entry_GetDataPtr | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 87 of file multicache.c.
Referenced by GWEN_MultiCache_AddEntry(), GWEN_MultiCache_ReleaseEntry(), GWEN_MultiCache_Type_GetData(), GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| uint32_t GWEN_MultiCache_Entry_GetDataSize | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 79 of file multicache.c.
Referenced by GWEN_MultiCache_AddEntry(), and GWEN_MultiCache_ReleaseEntry().

| uint32_t GWEN_MultiCache_Entry_GetId | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 71 of file multicache.c.
Referenced by GWEN_MultiCache_Type_ReleaseEntry().

| uint32_t GWEN_MultiCache_Entry_GetParam1 | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 103 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| uint32_t GWEN_MultiCache_Entry_GetParam2 | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 119 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| uint32_t GWEN_MultiCache_Entry_GetParam3 | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 135 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| uint32_t GWEN_MultiCache_Entry_GetParam4 | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 151 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| double GWEN_MultiCache_Entry_GetParam5 | ( | const GWEN_MULTICACHE_ENTRY * | e | ) |
Definition at line 167 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetDataWithParams5().

| GWEN_MULTICACHE_ENTRY * GWEN_MultiCache_Entry_new | ( | GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| void * | p, | ||
| uint32_t | i ) |
Definition at line 44 of file multicache.c.
References GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_MultiCache_Type_SetData(), GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_Entry_SetParam1 | ( | GWEN_MULTICACHE_ENTRY * | e, |
| uint32_t | i ) |
Definition at line 111 of file multicache.c.
Referenced by GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_Entry_SetParam2 | ( | GWEN_MULTICACHE_ENTRY * | e, |
| uint32_t | i ) |
Definition at line 127 of file multicache.c.
Referenced by GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_Entry_SetParam3 | ( | GWEN_MULTICACHE_ENTRY * | e, |
| uint32_t | i ) |
Definition at line 143 of file multicache.c.
Referenced by GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_Entry_SetParam4 | ( | GWEN_MULTICACHE_ENTRY * | e, |
| uint32_t | i ) |
Definition at line 159 of file multicache.c.
Referenced by GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_Entry_SetParam5 | ( | GWEN_MULTICACHE_ENTRY * | e, |
| double | d ) |
Definition at line 175 of file multicache.c.
Referenced by GWEN_MultiCache_Type_SetDataWithParams5().

| void GWEN_MultiCache_free | ( | GWEN_MULTICACHE * | mc | ) |
Definition at line 525 of file multicache.c.
References DBG_NOTICE, GWEN_FREE_OBJECT, GWEN_LOGDOMAIN, and GWEN_MultiCache_ReleaseEntry().

| uint64_t GWEN_MultiCache_GetMaxSizeUsed | ( | const GWEN_MULTICACHE * | mc | ) |
Definition at line 603 of file multicache.c.
| int GWEN_MultiCache_GetUsageString | ( | const GWEN_MULTICACHE * | mc, |
| char * | ptrBuffer, | ||
| int | lenBuffer ) |
Definition at line 567 of file multicache.c.
References DBG_ERROR, GWEN_ERROR_BUFFER_OVERFLOW, and GWEN_LOGDOMAIN.
| void GWEN_MultiCache_IncCacheHits | ( | GWEN_MULTICACHE * | mc | ) |
Definition at line 710 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetData(), GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| void GWEN_MultiCache_IncCacheMisses | ( | GWEN_MULTICACHE * | mc | ) |
Definition at line 719 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetData(), GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| GWEN_MULTICACHE * GWEN_MultiCache_new | ( | uint64_t | maxSize | ) |
Definition at line 510 of file multicache.c.
References GWEN_NEW_OBJECT.
| void GWEN_MultiCache_ReleaseEntriesForType | ( | GWEN_MULTICACHE * | mc, |
| GWEN_MULTICACHE_TYPE * | ct ) |
Definition at line 676 of file multicache.c.
References GWEN_MultiCache_Entry_GetCacheType(), and GWEN_MultiCache_ReleaseEntry().
Referenced by GWEN_MultiCache_Type_free(), and GWEN_MultiCache_Type_PurgeAll().


| void GWEN_MultiCache_ReleaseEntry | ( | GWEN_MULTICACHE * | mc, |
| GWEN_MULTICACHE_ENTRY * | e ) |
Definition at line 652 of file multicache.c.
References GWEN_MultiCache_Entry_free(), GWEN_MultiCache_Entry_GetCacheType(), GWEN_MultiCache_Entry_GetDataPtr(), GWEN_MultiCache_Entry_GetDataSize(), GWEN_MultiCache_Type_FreeData(), and GWEN_MultiCache_Type_ReleaseEntry().
Referenced by GWEN_MultiCache_AddEntry(), GWEN_MultiCache_free(), GWEN_MultiCache_ReleaseEntriesForType(), and GWEN_MultiCache_Type_PurgeData().


| int GWEN_MultiCache_Type_AttachData | ( | const GWEN_MULTICACHE_TYPE * | ct, |
| void * | p ) |
Definition at line 430 of file multicache.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_MultiCache_AddEntry(), GWEN_MultiCache_Type_GetData(), GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().

| void GWEN_MultiCache_Type_free | ( | GWEN_MULTICACHE_TYPE * | ct | ) |
Definition at line 204 of file multicache.c.
References GWEN_FREE_OBJECT, GWEN_LIST_FINI, and GWEN_MultiCache_ReleaseEntriesForType().

| int GWEN_MultiCache_Type_FreeData | ( | const GWEN_MULTICACHE_TYPE * | ct, |
| void * | p ) |
Definition at line 447 of file multicache.c.
References GWEN_ERROR_NOT_IMPLEMENTED.
Referenced by GWEN_MultiCache_ReleaseEntry().

| void * GWEN_MultiCache_Type_GetData | ( | const GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id ) |
Definition at line 222 of file multicache.c.
References GWEN_MultiCache_Entry_GetDataPtr(), GWEN_MultiCache_IncCacheHits(), GWEN_MultiCache_IncCacheMisses(), GWEN_MultiCache_Type_AttachData(), GWEN_MultiCache_UsingEntry(), and NULL.

| void * GWEN_MultiCache_Type_GetDataWithParams | ( | const GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| uint32_t | param1, | ||
| uint32_t | param2, | ||
| uint32_t | param3, | ||
| uint32_t | param4 ) |
Definition at line 245 of file multicache.c.
References GWEN_MultiCache_Entry_GetDataPtr(), GWEN_MultiCache_Entry_GetParam1(), GWEN_MultiCache_Entry_GetParam2(), GWEN_MultiCache_Entry_GetParam3(), GWEN_MultiCache_Entry_GetParam4(), GWEN_MultiCache_IncCacheHits(), GWEN_MultiCache_IncCacheMisses(), GWEN_MultiCache_Type_AttachData(), GWEN_MultiCache_UsingEntry(), and NULL.

| void * GWEN_MultiCache_Type_GetDataWithParams5 | ( | const GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| uint32_t | param1, | ||
| uint32_t | param2, | ||
| uint32_t | param3, | ||
| uint32_t | param4, | ||
| double | param5 ) |
Definition at line 275 of file multicache.c.
References GWEN_MultiCache_Entry_GetDataPtr(), GWEN_MultiCache_Entry_GetParam1(), GWEN_MultiCache_Entry_GetParam2(), GWEN_MultiCache_Entry_GetParam3(), GWEN_MultiCache_Entry_GetParam4(), GWEN_MultiCache_Entry_GetParam5(), GWEN_MultiCache_IncCacheHits(), GWEN_MultiCache_IncCacheMisses(), GWEN_MultiCache_Type_AttachData(), GWEN_MultiCache_UsingEntry(), and NULL.

| GWEN_IDLIST64 * GWEN_MultiCache_Type_GetIdsInCache | ( | const GWEN_MULTICACHE_TYPE * | ct | ) |
Definition at line 475 of file multicache.c.
References GWEN_IdList64_AddId(), GWEN_IdList64_free(), GWEN_IdList64_GetEntryCount(), GWEN_IdList64_new(), GWEN_MultiCache_Entry_GetCacheType(), and NULL.

| GWEN_MULTICACHE_TYPE * GWEN_MultiCache_Type_new | ( | GWEN_MULTICACHE * | mc | ) |
Definition at line 189 of file multicache.c.
References GWEN_IdMapAlgo_Hex4, GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
| void GWEN_MultiCache_Type_PurgeAll | ( | GWEN_MULTICACHE_TYPE * | ct | ) |
Definition at line 380 of file multicache.c.
References GWEN_MultiCache_ReleaseEntriesForType().

| void GWEN_MultiCache_Type_PurgeData | ( | GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id ) |
Definition at line 366 of file multicache.c.
References GWEN_MultiCache_ReleaseEntry().
Referenced by GWEN_MultiCache_Type_SetData(), GWEN_MultiCache_Type_SetDataWithParams(), and GWEN_MultiCache_Type_SetDataWithParams5().


| void GWEN_MultiCache_Type_ReleaseEntry | ( | GWEN_MULTICACHE_TYPE * | ct, |
| GWEN_MULTICACHE_ENTRY * | e ) |
Definition at line 463 of file multicache.c.
References GWEN_MultiCache_Entry_GetId().
Referenced by GWEN_MultiCache_ReleaseEntry().


| void GWEN_MultiCache_Type_SetAttachFn | ( | GWEN_MULTICACHE_TYPE * | ct, |
| GWEN_MULTICACHE_TYPE_ATTACH_FN | fn ) |
Definition at line 390 of file multicache.c.
| void GWEN_MultiCache_Type_SetAttachObjectFn | ( | GWEN_MULTICACHE_TYPE * | ct, |
| GWEN_MULTICACHE_TYPE_ATTACH_OBJECT_FN | fn ) |
Definition at line 410 of file multicache.c.
| void GWEN_MultiCache_Type_SetData | ( | GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| void * | ptr, | ||
| uint32_t | size ) |
Definition at line 307 of file multicache.c.
References GWEN_MultiCache_AddEntry(), GWEN_MultiCache_Entry_new(), and GWEN_MultiCache_Type_PurgeData().

| void GWEN_MultiCache_Type_SetDataWithParams | ( | GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| void * | ptr, | ||
| uint32_t | size, | ||
| uint32_t | param1, | ||
| uint32_t | param2, | ||
| uint32_t | param3, | ||
| uint32_t | param4 ) |
Definition at line 322 of file multicache.c.
References GWEN_MultiCache_AddEntry(), GWEN_MultiCache_Entry_new(), GWEN_MultiCache_Entry_SetParam1(), GWEN_MultiCache_Entry_SetParam2(), GWEN_MultiCache_Entry_SetParam3(), GWEN_MultiCache_Entry_SetParam4(), and GWEN_MultiCache_Type_PurgeData().

| void GWEN_MultiCache_Type_SetDataWithParams5 | ( | GWEN_MULTICACHE_TYPE * | ct, |
| uint32_t | id, | ||
| void * | ptr, | ||
| uint32_t | size, | ||
| uint32_t | param1, | ||
| uint32_t | param2, | ||
| uint32_t | param3, | ||
| uint32_t | param4, | ||
| double | param5 ) |
Definition at line 343 of file multicache.c.
References GWEN_MultiCache_AddEntry(), GWEN_MultiCache_Entry_new(), GWEN_MultiCache_Entry_SetParam1(), GWEN_MultiCache_Entry_SetParam2(), GWEN_MultiCache_Entry_SetParam3(), GWEN_MultiCache_Entry_SetParam4(), GWEN_MultiCache_Entry_SetParam5(), and GWEN_MultiCache_Type_PurgeData().

| void GWEN_MultiCache_Type_SetFreeFn | ( | GWEN_MULTICACHE_TYPE * | ct, |
| GWEN_MULTICACHE_TYPE_FREE_FN | fn ) |
Definition at line 400 of file multicache.c.
| void GWEN_MultiCache_Type_SetFreeObjectFn | ( | GWEN_MULTICACHE_TYPE * | ct, |
| GWEN_MULTICACHE_TYPE_FREE_OBJECT_FN | fn ) |
Definition at line 420 of file multicache.c.
| void GWEN_MultiCache_UsingEntry | ( | GWEN_MULTICACHE * | mc, |
| GWEN_MULTICACHE_ENTRY * | e ) |
Definition at line 698 of file multicache.c.
Referenced by GWEN_MultiCache_Type_GetData(), GWEN_MultiCache_Type_GetDataWithParams(), and GWEN_MultiCache_Type_GetDataWithParams5().
