Home | History | Annotate | Download | only in lloadd

Lines Matching defs:tier

105     LloadTier *tier;
107 tier = ch_calloc( 1, sizeof(LloadTier) );
109 tier->t_type = weighted_tier;
110 ldap_pvt_thread_mutex_init( &tier->t_mutex );
111 LDAP_CIRCLEQ_INIT( &tier->t_backends );
115 return tier;
119 weighted_add_backend( LloadTier *tier, LloadBackend *to_add )
124 assert( to_add->b_tier == tier );
130 LDAP_CIRCLEQ_REMOVE( &tier->t_backends, to_add, b_next );
145 LDAP_CIRCLEQ_FOREACH ( b, &tier->t_backends, b_next ) {
147 LDAP_CIRCLEQ_INSERT_BEFORE( &tier->t_backends, b, to_add, b_next );
151 LDAP_CIRCLEQ_INSERT_TAIL( &tier->t_backends, to_add, b_next );
154 tier->t_nbackends += added;
159 weighted_remove_backend( LloadTier *tier, LloadBackend *b )
161 assert_locked( &tier->t_mutex );
164 assert( b->b_tier == tier );
165 assert( tier->t_nbackends );
167 LDAP_CIRCLEQ_REMOVE( &tier->t_backends, b, b_next );
169 tier->t_nbackends--;
176 LloadTier *tier,
185 if ( !tier->t_nbackends ) return rc;
187 sorted = ch_malloc( tier->t_nbackends * sizeof(LloadBackend *) );
189 LDAP_CIRCLEQ_FOREACH ( b, &tier->t_backends, b_next ) {
193 assert( i == tier->t_nbackends );
195 weighted_shuffle( sorted, tier->t_nbackends );
197 for ( i = 0; i < tier->t_nbackends; i++ ) {