acltdtBindQueueRoutes
Applicability
Product |
Supported |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
Description
Binds data forwarding routes between queues when an app requires one-to-many data distribution.
As shown in the following figure, two routes (Q1 -> Q2 and Q1 -> Q3) can be established. When data is distributed in one-to-many mode, the transferred shared buffer data is not locked, and consumers cannot perform the inplace operation on the data. As shown in the following figure, if consumer 1 modifies the shared data, the data accessed by consumer 2 changes.

Prototype
aclError acltdtBindQueueRoutes(acltdtQueueRouteList *qRouteList)
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
qRouteList |
Input/Output |
Pointer to the route list. This API call returns the route binding result. Call acltdtCreateQueueRouteList to create data of the acltdtQueueRouteList type, and then call acltdtAddQueueRoute to add a route. |
Returns
0 on success; else, failure. For details, see aclError.
This API returns a success message only when all routes in a queue are successfully bound and the route status is normal. If any route fails to be bound, this API returns a failure message. To locate the failure, you can call acltdtGetQueueRoute to obtain each route from the route list, and call acltdtGetQueueRouteParam to query the binding status.
Restrictions
- The system checks whether an added queue route forms a loop. Loops are not allowed.
- Multi-thread concurrent calling is not supported.