Re: Message-Capable vs. Non-Message-Capable UIs

Meredydd <[email protected]> Sun, 21 Mar 2004 21:35:05 +0000
Newsgroups gmane.network.everybuddy.devel
Message-ID <[email protected]>
On Sunday 21 March 2004 16:11, Rodney Dawes wrote:
> Basically, what exactly is the
> difference between a message-capable GUI and a non-message-capable
> GUI?

The difference is very small, and only affects message holding 
behaviour. Normally, when one of many user interfaces disconnects, the 
core doesn't really blink - the other interfaces should be capable of 
taking care of any incoming messages and display them. However, if the 
only interfaces which remain connected are flagged as not 
message-capable, the core will act as if every interface has 
disconnected - that is, it will turn on message hold and set away (if 
this is not done already).

Consider the following scenario:

I'm running a hosted core, which lives on shell.lazzurs.net. I'm running 
both ebqt (for ordinary messaging) and a separate dedicated panel 
applet which just notifies me when people go on- or offline. I'm done 
chatting, but still want to see if a buddy comes online, so I close 
ebqt. If the message-capable flag didn't exist, the core would just say 
"one user interface disconnects, but I still have one connected, so I'm 
fine". If someone now sends me a message, it is broadcast with 
"message_receive" - but my panel applet isn't written to handle those, 
so it gets ignored. In other words, dropped message.

However, if the panel applet is set as not message-capable, the core 
knows to start holding messages once ebqt disconnects, ensuring that I 
don't drop any messages.

So, to answer your question, there is no difference between 
message-capable and non-message-capable UIs, apart from how the core 
behaves when another UI disconnects.

Meredydd