Managing groups of connections

Use the PPX service to group switch commands into a single logical transaction. This functionality creates a batch of connections that are related to each other. All operations within the transaction must be completed successfully or the transaction fails.

A group of switch operations starts with a ppxBegin command. Each PPX function called after ppxBegin returns immediately, and the switch connections are not made until ppxSubmit is called.

ppxSubmit is an asynchronous function, but it returns immediately. The final result of the transaction is delivered in an event. When ppxSubmit is called, the PPX service determines if each operation is valid and that there are valid paths for all connections.

After verifying the commands and paths, the PPX service calls the functions to perform the operations. If an error occurs when making the connections, all pending operations are aborted. The PPX service restores any of the connections made up to that point and the system is returned to its state before ppxBegin was called.

When all connections are made, PPXEVN_SUBMIT_COMPLETE is returned.

All PPX functions except ppxOpenConnection and ppxCreateConnection can be included in a ppxBegin/ppxSubmit block. Only one ppxBegin/ppxSubmit block can be active on a given context.

ppxBeginCancel cancels a group of commands preceded by a ppxBegin statement.