jabber:iq:last
Like jabber:iq:time and
jabber:iq:version, the
jabber:iq:last namespace allows a simple
query on uptime, idletime, or last disconnect information to be made on
clients and servers.
Elapsed time information, in seconds, is returned in response to queries
in the jabber:iq:last namespace. If the query is made
of a server element (the Jabber server itself or a component connected
to that server), then the information returned represents the time since
that element started, that is, the uptime:
SEND: <iq type='get' to='yak'>
<query xmlns='jabber:iq:last'></query>
</iq>
RECV: <iq type='result' to='dj@yak/Work' from='yak'>
<query xmlns='jabber:iq:last' seconds='2339811'/>
</iq>
Not all components support the jabber:iq:last
namespace; then again, in many cases, the components—certainly those
that are connected with the library load mechanism
(see Chapter 4)—will have the same uptime
as the Jabber server they’re connected to. In other cases, for
TCP sockets connected components that can be attached while
the Jabber server is running, the uptime may be less.[5]
When a client disconnects, the last (un)availability
information in the
closing <presence/> element is stored for that user, along with the current time:
SEND: <presence type='unavailable'>
<status>Gone home for the evening!</status>
</presence>
Making a jabber:iq:last-based query on a user’s JID will return the information that was stored
from the <status/> tag as well as the number of seconds representing ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access