public static int ParseKeyValue(byte[] data, int pos, ref KeyValuePair<byte[], byte[]> keyValue)
{
byte[] key = null;
pos = ParseByteArray(data, pos, ref key);
if (pos == -1)
return -1;
if (pos >= data.Length)
return -1;
if (data[pos] != ':')
return -1;
pos += 1;
if (data[pos] != ' ')
return -1;
pos += 1;
byte[] value = null;
pos = ParseByteArray(data, pos, ref value);
if (pos == -1)
return -1;
if (pos >= data.Length)
return -1;
if (data[pos] != '\n')
return -1;
pos += 1;
keyValue = new KeyValuePair<byte[], byte[]>(key, value);
return pos;
}