public Filter(Deserializer rd) { long count = rd.DeserializeLong(); Tablenames = new HashSet<string>(); while (count > 0) { Tablenames.Add(rd.DeserializeString()); count--; } }
public static Message DeserializeMessage(Deserializer rd) { Magic m = (Magic)rd.DeserializeByte(); switch (m) { case Magic.Transaction: return new Transaction(rd); case Magic.Quit: return new Quit(rd); case Magic.Id: return new Id(rd); case Magic.StartStream: return new StartStream(); case Magic.Ok: return new Ok(); case Magic.Filter: return new Filter(rd); case Magic.TablePos: return new TablePos(rd); case Magic.OpenLog: return new OpenLog(); default: throw new Exception("unhandled message type '" + m + "'"); } }
private void InputThreadFunc() { var reader = new Deserializer(_stream); try { while (!IsStopped) { _inputAlive = -1; Message msg = Message.DeserializeMessage(reader); _inputAlive = 0; while (State != RunState.Stopped) { if (_inputSem.Wait(100)) { ScheduleTask(() => { try { ProcessMessage(msg); } finally { _inputSem.Release(); } }); break; } } } } catch (Exception e) { Stop(e); } reader.Close(); }
public Transaction(Deserializer rd) { LogReadResult = rd.DeserializeLogReadResult(); }
public TablePos(Deserializer rd) { Table = rd.DeserializeString(); Pos = rd.DeserializeULong(); }
public Quit(Deserializer rd) { Message = rd.DeserializeString(); }
public Id(Deserializer rd) { DatabaseName = rd.DeserializeString(); Guid = rd.DeserializeString(); FirstUserOid = rd.DeserializeULong(); LastUserOid = rd.DeserializeULong(); }