public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.Filter); wr.Serialize(Tablenames.Count); foreach (var table in Tablenames) wr.Serialize(table); }
private void OutputThreadFunc() { var writer = new Serializer(new BufferedStream(_stream)); Message msg; try { while (!IsStopped) { _outputAlive = 0; if (State == RunState.SendQuit) { if (SetState(RunState.SendClose)) { Send(new Message.Quit(_sendQuitMessage)); _sendQuitMessage = null; } } if (State == RunState.SendClose) { if (SetState(RunState.Stopping)) { Log(Logger.EntryKind.WsClosing, "Closing"); Send(null); } } while (!IsStopped && _output.TryDequeue(out msg)) { _outputAlive = 0; if (msg == null) { Stop(); break; } msg.Serialize(writer); if (msg is Message.Transaction) Interlocked.Increment(ref _transactionsSent); } if (!_outputSem.Wait(100)) writer.Flush(); } writer.Close(); } catch (Exception e) { Stop(e); } }
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.Transaction); wr.Serialize(LogReadResult); }
public abstract void Serialize(Serializer wr);
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.TablePos); wr.Serialize(Table); wr.Serialize(Pos); }
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.StartStream); }
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.Quit); wr.Serialize(Message); }
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.OpenLog); }
public override void Serialize(Serializer wr) { wr.Serialize((byte)Magic.Id); wr.Serialize(DatabaseName); wr.Serialize(Guid); wr.Serialize(FirstUserOid); wr.Serialize(LastUserOid); }