#include "event.h" #include "event_pb.h" namespace NActors { const TScopeId TScopeId::LocallyGenerated{ Max(), Max() }; TIntrusivePtr IEventHandle::ReleaseChainBuffer() { if (Buffer) { TIntrusivePtr result; DoSwap(result, Buffer); Event.Reset(); return result; } if (Event) { TAllocChunkSerializer serializer; Event->SerializeToArcadiaStream(&serializer); auto chainBuf = serializer.Release(Event->IsExtendedFormat()); Event.Reset(); return chainBuf; } return new TEventSerializedData; } TIntrusivePtr IEventHandle::GetChainBuffer() { if (Buffer) return Buffer; if (Event) { TAllocChunkSerializer serializer; Event->SerializeToArcadiaStream(&serializer); Buffer = serializer.Release(Event->IsExtendedFormat()); return Buffer; } return new TEventSerializedData; } }