#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->CreateSerializationInfo()); 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->CreateSerializationInfo()); return Buffer; } return new TEventSerializedData; } }