graph.h
fiftyoneDegreesGraphNodeHash * fiftyoneDegreesGraphGetMatchingHashFromListNodeSearch(fiftyoneDegreesGraphNode *node, uint32_t hash)
Gets a matching hash record from a node where the hash records are stored as an ordered list by perfo...
bool matched
True if a matching hash was found.
Definition: graph.h:153
char * rootName
The name title of the node.
Definition: graph.h:154
fiftyoneDegreesGraphTraceNode * next
Pointer to the next node in the linked list.
Definition: graph.h:157
uint32_t lastIndex
The last index in the hash node.
Definition: graph.h:150
Used to store a handle to the underlying item that could be used to release the item when it's finish...
Definition: collection.h:308
fiftyoneDegreesGraphNode * fiftyoneDegreesGraphGetNode(fiftyoneDegreesCollection *collection, uint32_t offset, fiftyoneDegreesCollectionItem *item, fiftyoneDegreesException *exception)
Gets the graph node at the requested offset from the graph node collection provided.
fiftyoneDegreesGraphNodeHash * fiftyoneDegreesGraphGetMatchingHashFromListNode(fiftyoneDegreesGraphNode *node, uint32_t hash)
Gets a matching hash record from a node where the node has multiple hash records.
Hash record structure to compare to a substring hash.
Definition: graph.h:128
int16_t lastIndex
Last character index to search for a matching hash code.
Definition: graph.h:171
Type of collection where the collection is streamed from file.
Definition: collection.h:445
uint32_t length
The length of the hashed value being evaluated.
Definition: graph.h:148
void * fiftyoneDegreesGraphNodeReadFromFile(const fiftyoneDegreesCollectionFile *file, uint32_t offset, fiftyoneDegreesData *data, fiftyoneDegreesException *exception)
Read a graph node from the file collection provided and store in the data pointer.
byte flags
Flags available for future implementation.
Definition: graph.h:168
Data structure used for reusing memory which may have been allocated in a previous operation.
Definition: data.h:101
int32_t hashesCount
Number of hash records in the node.
Definition: graph.h:174
void fiftyoneDegreesGraphTraceFree(fiftyoneDegreesGraphTraceNode *route)
Frees a graph trace structure.
fiftyoneDegreesGraphNodeHash * fiftyoneDegreesGraphGetMatchingHashFromNode(fiftyoneDegreesGraphNode *node, uint32_t hash)
Gets a matching hash record from a match where the node a single hash record.
uint32_t hashCode
The matched hash code, or zero if no matching hash was found.
Definition: graph.h:151
int32_t nodeOffset
Offset of the node to use if this hash code is a match.
Definition: graph.h:130
fiftyoneDegreesGraphTraceNode * fiftyoneDegreesGraphTraceCreate(const char *fmt,...)
Creates a new graph trace node.
uint32_t index
The index in the evidence where the hash was found, or the last index which was evaluated if no match...
Definition: graph.h:145
int fiftyoneDegreesGraphTraceGet(char *destination, size_t length, fiftyoneDegreesGraphTraceNode *route, const char *source)
Writes a trace route in a readable format to a destination will the memory allocated,...
int16_t firstIndex
First character index to search for a matching hash code.
Definition: graph.h:169
Structure used to represent a 51Degrees exception and passed into methods that might generate excepti...
Definition: exceptions.h:111
int32_t modulo
Modulo to use when the hashes are a hash table.
Definition: graph.h:175
Trace node structure used to trace the route taken when evaluating a graph.
Definition: graph.h:144
void fiftyoneDegreesGraphTraceAppend(fiftyoneDegreesGraphTraceNode *route, fiftyoneDegreesGraphTraceNode *node)
Appends a node to an existing trace route.
Graph node structure used to construct the directed acyclic graph to search.
Definition: graph.h:165
fiftyoneDegreesGraphNodeHash * fiftyoneDegreesGraphGetMatchingHashFromListNodeTable(fiftyoneDegreesGraphNode *node, uint32_t hash)
Gets a matching hash record from a node where the hash records are structured as a hash table.
All the shared methods and fields required by file, memory and cached collections.
Definition: collection.h:408
fiftyoneDegreesGraphNodeHash * fiftyoneDegreesGraphGetMatchingHashFromBinaryNode(fiftyoneDegreesGraphNode *node, uint32_t hash)
Gets a matching hash record from a node where the node a single hash record.
int32_t unmatchedNodeOffset
Offset of the node to use if there is no matching hash record.
Definition: graph.h:166
uint32_t firstIndex
The first index in the hash node.
Definition: graph.h:149