Chapter 15. Distribution Routines

This chapter contains reference information on distribution routines.

Table 15.1. Distribution Routines

Function Description
distribution_plugin_entry_point() Allows for backend distribution.

15.1. distribution_plugin_entry_point()

Description

Backend distribution is the capability to span the LDAP subtree contents under a specified DIT node into multiple backends in the same server and/or database links to other servers. Under such a configuration, this function is responsible for deciding where the database or database link under the DIT node will be applied. This function will be called for every operation reaching a DIT node, including subtree search operations that are started above the node.

This function can only be called if the server has been configured to take advantage of such capability.
Returns

This function should return the index of the backend in the mtn_be_names table that is used to resolve the current operation. For search operations, SLAPI_BE_ALL_BACKENDS can be returned to specify that backends must be searched. The use of SLAPI_BE_ALL_BACKENDS for non-search operations is not supported and may give random results.

Syntax

 

#include "slapi-plugin.h"
int distribution_plugin_entry_point (Slapi_PBlock *pb, Slapi_DN *target_dn, char **mtn_be_names, int be_count, Slapi_DN * node_dn);
Parameters

This function takes the following parameters:

pb Pointer to the parameter block of the operation.
target_dn Pointer to the target DN of the operation.
mtn_be_names Pointer to the list of names of backends declared for this node.
be_count The number of backends declared under a specified DIT node.
node_dn DN of the node where the distribution function is set.