typedef axl_bool(* VortexOnStartChannelExtended)(const char *profile, int channel_num, VortexConnection *connection, const char *serverName, const char *profile_content, char **profile_content_reply, VortexEncoding encoding, axlPointer user_data)

Channel start message received handler with support for extended attributes.

In most situations, while using Vortex Library, you can assume the default implementation to handle the start channel request.

However, a start message request could have several attributes and additional parameters that are notified in the form of a "piggyback", to set up new channels, performing especial operations, as happens with TLS negotiation.

This handler allows to get start message notification with all possible data received.

Here is an channel start message example:

1 <start number='1' serverName='my.domain.com'>
2  <profile uri='http://some-unique-profile-uri/mech' encoding='none'>
3  <![CDATA[some necessary initial round trip data]]>
4  </profile>
5 </start>

This handler will notify the channel number being requested, the serverName value, the profile requested, the piggyback encoding and the optional piggyback.

Keep in mind that the encoding is an implicit attribute. Having it not defined yields to the default value 'none', which is represented by EncodingNone.

Functions using this handler:

profileThe profile being request to create a new channel.
channel_numChannel being requested for creation.
connectionConnection where the channel creation request was received.
serverNameValue for this optional start message attribute. This is used
profile_contentOptional profile content received inside the channel start message.
profile_content_replyOptional profile content reply to be used for channel start reply, it will be freed by the library after the reply is sent.
encodingEncoding used for the profile content.
user_dataUser defined data to be passed in to the handler when it is executed.
axl_true if the new channel can be created or axl_false if not.