I am using XmlLite to parse socket based XML requests in an unmanaged server application. When my socket implementation of IStream Read() does not return a full buffer, XmlLite attempts to read again to fill the buffer, without parsing any of the partially filled buffer (even if the partially filled buffer contains complete XML). Is this the expected behavior of XmlLite? The documentation implies the parser will consume available bytes as long as the elements are complete. This causes a problem at the end of the incoming XML request since it usually doesn't fill the buffer and the subsequent read to fill the buffer blocks.
View the full article