public static MpRoot PackMultiple(IEnumerable values) { MpRoot root = new MpRoot(); foreach (object item in values) { root.Add(Pack(item)); } return(root); }
public static MpRoot PackMultiple(params object[] values) { MpRoot root = new MpRoot(values.Length); for (int t = 0; t < values.Length; t++) { root.Add(Pack(values[t])); } return(root); }
public static MpRoot PackMultiple(MsgPackSettings settings, IEnumerable values) { MpRoot root = new MpRoot(settings); foreach (object item in values) { root.Add(Pack(item, settings)); } return(root); }
public static MpRoot PackMultiple(MsgPackSettings settings, params object[] values) { MpRoot root = new MpRoot(settings, values.Length); for (int t = 0; t < values.Length; t++) { root.Add(Pack(values[t], settings)); } return(root); }
public static MpRoot UnpackMultiple(Stream stream) { MpRoot items = new MpRoot(); long len = stream.Length - 1; long lastpos = stream.Position; while (stream.Position < len) { try { items.Add(Unpack(stream)); lastpos = stream.Position; } catch (Exception ex) { throw new MsgPackException(string.Concat("error while reading item [", items.Count, "] at offset ", lastpos, " (read up to ", stream.Position, "). See inner exception for more details."), ex, lastpos); } } return(items); }
public static MpRoot UnpackMultiple(Stream stream, MsgPackSettings settings) { MpRoot items = new MpRoot(settings) { storedOffset = stream.Position }; long len = stream.Length - 1; long lastpos = stream.Position; while (stream.Position < len) { try { items.Add(Unpack(stream, settings)); lastpos = stream.Position; } catch (Exception ex) { items.Add(new MpError(settings, ex, "Offset after parsing error is ", stream.Position) { storedOffset = lastpos, storedLength = stream.Position - lastpos }); if (settings.ContinueProcessingOnBreakingError) { if (lastpos == stream.Position && stream.Position < len) { FindNextValidTypeId(stream); } } else { break; } } } items.storedLength = stream.Position - items.storedOffset; return(items); }