3.1.4.1.2 Auxiliary Buffer

The EcDoConnectEx method allows for additional data to travel between the server and the client. This additional data is transferred in the auxiliary buffers of the method. The rgbAuxIn parameter payload, as specified in in section 3.1.4.1.1.1.1, is for auxiliary data being sent from the client to the server. The rgbAuxOut parameter payload, as specified in section 3.1.4.1.1.1.2, is for auxiliary data being sent from the server to the client.

Unlike the ROP request and ROP response payloads in the rgbIn and rgbOut parameters, there is no request and response nature to the auxiliary buffers. The data sent from the server to the client is informational data that the client might use to alter its behavior against the server.

The data being transferred from the server to the client enables the server to tell the client about topology characteristics of the messaging system.

All information in the auxiliary buffer MUST be added with an AUX_HEADER structure preceding the actual auxiliary information. For details about the AUX_HEADER and how it is formatted, see section 2.2.2.2. Within the AUX_HEADER structure, the Version and Type fields combined determine which auxiliary block structure follows the AUX_HEADER structure. Details about how to format the AUX_HEADER structure to indicate which auxiliary block follows are provided in section 2.2.2.2.

If the server receives an AUX_HEADER auxiliary block with a version and type it does not recognize (that is, does not support), it MUST skip over the entire block without throwing an error. The AUX_HEADER structure contains the length of the AUX_HEADER plus the following auxiliary block structure in the Size field, so the information can be skipped.