void vortex_reader_allow_msgno_starting_from_1 gboolean  value  ) 
 

Makes the vortex reader to allow accepting the first message over a channel with msgno=1.

BEEP RFC3080 defines that every message sent over a channel have a msgno value ranging from 0 up to 2^(31) - 1. This means that the very first message sent over a channel should have a value 0 and steps into the next value by one unit.

However, to the previous rule there are one exception: the channel 0. This administrative channel, that allows BEEP to control and manage channels, do not ever send the message 0. This is because it is implicit to the connection.

Once a BEEP peer is connected, the initial greeting is exchanged, without waiting to a first message (with msgno=0) required to do so. But this initial greeting is carried on a RPY message with msgno=0. This creates a great confusion because every RPY message should reply to a MSG message sent.

Thus, the first message exchanged under the channel 0 have a value msgno=1 because the first message MSG with msgno=0 is never sent, then an RPY with msgno=0 is sent (the initial greeting), and the the next message to be exchanged is the msgno=1.

Well, previous description is taken by some BEEP implementation to be the normal situation for every channel. This is clearly wrong. However, it is preferred to interop with other libraries rather blame them (to interop is a lovely thing that should be pursued, no one wins when blame occurs).

By default, the library is configured to accept first messages starting from msgno=1. You can also be strict and set a FALSE value to this function.

Parameters:
value TRUE to allow messages received on a channel to start with 1 rather than 0.