typedef gboolean(* VortexOnStartChannelExtended)(gchar *profile, gint channel_num, VortexConnection *connection, gchar *serverName, gchar *profile_content, gchar **profile_content_reply, VortexEncoding encoding, gpointer user_data)

Channel start received handler with support for extended attributes.

On most situations, while using Vortex Library, you can assume to not implement the start channel because it is used to accept new channel creation or a initial tuning. That's why VortexOnStartChannel should fulfill most cases.

However, an start message request could have several attributes an additional parameters that are notified to set up new channels or to perform tuning such as TLS negotiation. This handler allows to get start message notification with all possible data received.

Here is an channel start message example:

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

This handler will notify the channel number being requested to be created. In this case the value notified is 1, the serverName notified is 'my.domain.com', the profile requested 'http://some-unique-profile-uri/mech', the encoding 'non' and as a profile content: '<![CDATA[some necessary initial round trip data]]>'.

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:

profile The profile being request to create a new channel.
channel_num Channel being requested for creation.
connection Connection where the channel creation request was received.
serverName Value for this optional start message attribute. This is used
profile_content Optional profile content received inside the channel start message.
profile_content_reply Optional profile content reply to be used for channel start reply.
encoding Encoding used for the profile content.
user_data User defined data to be passed in to the handler when it is executed.
TRUE if the new channel can be created or FALSE if not.