"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "ebtree/eb32sctree.h" between
haproxy-2.0.13.tar.gz and haproxy-2.0.14.tar.gz

About: HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high availability environments. LTS (Long-Term Support) release.

eb32sctree.h  (haproxy-2.0.13):eb32sctree.h  (haproxy-2.0.14)
skipping to change at line 40 skipping to change at line 40
#ifndef _EB32TREE_H #ifndef _EB32TREE_H
typedef unsigned int u32; typedef unsigned int u32;
typedef signed int s32; typedef signed int s32;
#endif #endif
/* This structure carries a node, a leaf, a scope, and a key. It must start /* This structure carries a node, a leaf, a scope, and a key. It must start
* with the eb_node so that it can be cast into an eb_node. We could also * with the eb_node so that it can be cast into an eb_node. We could also
* have put some sort of transparent union here to reduce the indirection * have put some sort of transparent union here to reduce the indirection
* level, but the fact is, the end user is not meant to manipulate internals, * level, but the fact is, the end user is not meant to manipulate internals,
* so this is pointless. * so this is pointless.
* In case sizeof(void*)>=sizeof(long), we know there will be some padding after
* the leaf if it's unaligned. In this case we force the alignment on void* so
* that we prefer to have the padding before for more efficient accesses.
*/ */
struct eb32sc_node { struct eb32sc_node {
struct eb_node node; /* the tree node, must be at the beginning */ struct eb_node node; /* the tree node, must be at the beginning */
MAYBE_ALIGN(sizeof(u32));
u32 key; u32 key;
ALWAYS_ALIGN(sizeof(void*));
unsigned long node_s; /* visibility of this node's branches */ unsigned long node_s; /* visibility of this node's branches */
unsigned long leaf_s; /* visibility of this node's leaf */ unsigned long leaf_s; /* visibility of this node's leaf */
}; } ALIGNED(sizeof(void*));
/* /*
* Exported functions and macros. * Exported functions and macros.
* Many of them are always inlined because they are extremely small, and * Many of them are always inlined because they are extremely small, and
* are generally called at most once or twice in a program. * are generally called at most once or twice in a program.
*/ */
/* /*
* The following functions are not inlined by default. They are declared * The following functions are not inlined by default. They are declared
* in eb32sctree.c, which simply relies on their inline version. * in eb32sctree.c, which simply relies on their inline version.
 End of changes. 4 change blocks. 
1 lines changed or deleted 6 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)