public void ExecuteNonQuery(Serialisable s) { s.Put(asy); var b = asy.Receive(); if (b == Types.Exception) { inTransaction = false; } else { switch (s.type) { case Types.SBegin: inTransaction = true; break; case Types.SRollback: case Types.SCommit: inTransaction = false; break; } } }
public DocArray Get(Serialisable tn) { asy.Write(Types.DescribedGet); tn.Put(asy); asy.Flush(); var b = asy.ReadByte(); if (b == (byte)Types.Exception) { inTransaction = false; asy.GetException(); } if (b == (byte)Types.Done) { description = SDict <int, string> .Empty; var n = asy.rbuf.GetInt(); for (var i = 0; i < n; i++) { description += (i, asy.rbuf.GetString()); } return(new DocArray(asy.rbuf.GetString())); } throw new Exception("??"); }
public override void Put(StreamBase f) { base.Put(f); col.Put(f); f.WriteByte((byte)(desc ? 1 : 0)); }