In an effort to determine which of my available contacts supports what, I'm
using a DiscoManager to request disco#info the first time a <presence>
element for a particular JID arrives. It looks like there might be some
crosstalk with so much data coming in at the same time.
I'm emailing a full dump of the sent and received data, and the exception
stack trace, to hildjj at gmail.com - emailing rather attaching because it
contains JIDs and so forth.
============ Offending code follows ============
/// <summary>
/// Requests discovery of features for the specified JID
/// </summary>
private void DiscoverFeatures(JID jid)
{
discoManager.BeginGetFeatures(jid, "", discoManager_GetFeatures, null);
}
...
/// <summary>
/// Processes a presence update event
/// </summary>
private void jabberSession_OnPresence(object sender,
jabber.protocol.client.Presence pres)
{
if (!HaveFeaturesBeenDiscovered(pres.From))
{
DiscoverFeatures(pres.From);
}
}
============ Code ends ============
If you look at the dump file sent around line 200, there appears to be very
strange things going on with the Blackberry client on the roster - it
redeclares all the usual xml namespaces in its initial presence
notification. Maybe that's what's causing the choke?
Original issue reported on code.google.com by csam...@gmail.com on 13 Sep 2008 at 6:38
Original issue reported on code.google.com by
csam...@gmail.com
on 13 Sep 2008 at 6:38