14 |
|
} |
15 |
|
public class SearchResultReader : SerializationReader, ISearchResultReader |
16 |
|
{ |
17 |
< |
public SearchResultReader() : base() { ReadHeader(); } |
17 |
> |
//public SearchResultReader() : base() { ReadHeader(); } |
18 |
> |
public SearchResultReader(Guid guid) : base(guid) { ReadHeader(guid); } |
19 |
|
|
20 |
< |
private void ReadHeader() |
20 |
> |
private void ReadHeader(Guid guid) |
21 |
|
{ |
22 |
|
try |
23 |
|
{ |
31 |
|
} |
32 |
|
// version (int) |
33 |
|
int version = binReader.ReadInt32(); |
34 |
< |
if (version != 1) |
34 |
> |
|
35 |
> |
if (version == 1) |
36 |
> |
{ |
37 |
> |
// do nothing |
38 |
> |
} |
39 |
> |
else if (version == 2) |
40 |
> |
{ |
41 |
> |
int guid_array_length = binReader.ReadInt32(); |
42 |
> |
byte[] guid_array = new byte[guid_array_length]; |
43 |
> |
binReader.Read(guid_array, 0, guid_array_length); |
44 |
> |
Guid g = new Guid(guid_array); |
45 |
> |
if (g != guid) |
46 |
> |
{ |
47 |
> |
throw new InvalidOperationException(string.Format("Encountered wrong search results guid: read '{1}' excpected '{2}'", g.ToString(), guid.ToString())); |
48 |
> |
} |
49 |
> |
} |
50 |
> |
else |
51 |
|
{ |
52 |
< |
throw new InvalidOperationException(string.Format("Encountered unexpected version: {0} expected: {1}", version, 1)); |
52 |
> |
throw new InvalidOperationException(string.Format("Encountered unexpected version: {0} expected: {1} or {2}", version, 1, 2)); |
53 |
|
} |
54 |
|
// resultcount |
55 |
|
int resultcount = binReader.ReadInt32(); |