diff options
author | xenoxeno <xeno@ydb.tech> | 2023-03-28 14:31:05 +0300 |
---|---|---|
committer | xenoxeno <xeno@ydb.tech> | 2023-03-28 14:31:05 +0300 |
commit | 33421d638103cc382ba851d2491740e2db576307 (patch) | |
tree | 166e19b62c40deb088b62651e2a0cb86d4ed8f5c /library/cpp/actors/testlib | |
parent | 8cf3b1d08aa8791cd5cb7ee2a11fbb712cd72d16 (diff) | |
download | ydb-33421d638103cc382ba851d2491740e2db576307.tar.gz |
revert light events
Diffstat (limited to 'library/cpp/actors/testlib')
-rw-r--r-- | library/cpp/actors/testlib/decorator_ut.cpp | 10 | ||||
-rw-r--r-- | library/cpp/actors/testlib/test_runtime.cpp | 34 | ||||
-rw-r--r-- | library/cpp/actors/testlib/test_runtime.h | 4 |
3 files changed, 19 insertions, 29 deletions
diff --git a/library/cpp/actors/testlib/decorator_ut.cpp b/library/cpp/actors/testlib/decorator_ut.cpp index 3c70d25ec00..fe5c769290d 100644 --- a/library/cpp/actors/testlib/decorator_ut.cpp +++ b/library/cpp/actors/testlib/decorator_ut.cpp @@ -28,7 +28,7 @@ Y_UNIT_TEST_SUITE(TesTTestDecorator) { virtual ~TDyingChecker() { Write("TDyingChecker::~TDyingChecker"); - TActivationContext::Send(new IEventHandleFat(MasterId, SelfId(), new TEvents::TEvPing())); + TActivationContext::Send(new IEventHandle(MasterId, SelfId(), new TEvents::TEvPing())); } bool DoBeforeReceiving(TAutoPtr<IEventHandle> &/*ev*/, const TActorContext &/*ctx*/) override { @@ -104,7 +104,7 @@ Y_UNIT_TEST_SUITE(TesTTestDecorator) { return true; } Write("TFizzBuzzToFooBar::DoBeforeSending"); - TEventHandleFat<TEvWords> *handle = reinterpret_cast<TEventHandleFat<TEvWords>*>(ev.Get()); + TEventHandle<TEvWords> *handle = reinterpret_cast<TEventHandle<TEvWords>*>(ev.Get()); UNIT_ASSERT(handle); TEvWords *event = handle->Get(); TVector<TString> &words = event->Words; @@ -144,7 +144,7 @@ Y_UNIT_TEST_SUITE(TesTTestDecorator) { return true; } Write("TWordEraser::DoBeforeSending"); - TEventHandleFat<TEvWords> *handle = reinterpret_cast<TEventHandleFat<TEvWords>*>(ev.Get()); + TEventHandle<TEvWords> *handle = reinterpret_cast<TEventHandle<TEvWords>*>(ev.Get()); UNIT_ASSERT(handle); TEvWords *event = handle->Get(); TVector<TString> &words = event->Words; @@ -176,7 +176,7 @@ Y_UNIT_TEST_SUITE(TesTTestDecorator) { return true; } Write("TWithoutWordsDroper::DoBeforeSending"); - TEventHandleFat<TEvWords> *handle = reinterpret_cast<TEventHandleFat<TEvWords>*>(ev.Get()); + TEventHandle<TEvWords> *handle = reinterpret_cast<TEventHandle<TEvWords>*>(ev.Get()); UNIT_ASSERT(handle); TEvWords *event = handle->Get(); return bool(event->Words); @@ -208,7 +208,7 @@ Y_UNIT_TEST_SUITE(TesTTestDecorator) { } STATEFN(State) { - TEventHandleFat<TEvWords> *handle = reinterpret_cast<TEventHandleFat<TEvWords>*>(ev.Get()); + TEventHandle<TEvWords> *handle = reinterpret_cast<TEventHandle<TEvWords>*>(ev.Get()); UNIT_ASSERT(handle); UNIT_ASSERT(handle->Sender == MasterId); TEvWords *event = handle->Get(); diff --git a/library/cpp/actors/testlib/test_runtime.cpp b/library/cpp/actors/testlib/test_runtime.cpp index 889edc4969b..962cfe81d40 100644 --- a/library/cpp/actors/testlib/test_runtime.cpp +++ b/library/cpp/actors/testlib/test_runtime.cpp @@ -48,10 +48,10 @@ namespace NActors { Cerr << ", "; if (ev->HasEvent()) Cerr << " : " << (PRINT_EVENT_BODY ? ev->ToString() : ev->GetTypeName()); - // else if (ev->HasBuffer()) - // Cerr << " : BUFFER"; - // else - // Cerr << " : EMPTY"; + else if (ev->HasBuffer()) + Cerr << " : BUFFER"; + else + Cerr << " : EMPTY"; Cerr << "\n"; } @@ -397,7 +397,7 @@ namespace NActors { TActorContext ctx(*mailbox, *node->ExecutorThread, GetCycleCountFast(), ev->GetRecipientRewrite()); TActivationContext *prevTlsActivationContext = TlsActivationContext; TlsActivationContext = &ctx; - recipientActor->Receive(ev); + recipientActor->Receive(ev, ctx); TlsActivationContext = prevTlsActivationContext; // we expect the logger to never die in tests } @@ -1420,9 +1420,8 @@ namespace NActors { } } - void TTestActorRuntimeBase::Send(const TActorId& recipient, const TActorId& sender, TAutoPtr<IEventHandleLight> ev, ui32 senderNodeIndex, bool viaActorSystem) { - ev->PrepareSend(recipient, sender); - Send(ev.Release(), senderNodeIndex, viaActorSystem); + void TTestActorRuntimeBase::Send(const TActorId& recipient, const TActorId& sender, TAutoPtr<IEventBase> ev, ui32 senderNodeIndex, bool viaActorSystem) { + Send(new IEventHandle(recipient, sender, ev.Release()), senderNodeIndex, viaActorSystem); } void TTestActorRuntimeBase::Send(TAutoPtr<IEventHandle> ev, ui32 senderNodeIndex, bool viaActorSystem) { @@ -1628,7 +1627,7 @@ namespace NActors { TCallstack::GetTlsCallstack() = ev->Callstack; TCallstack::GetTlsCallstack().SetLinesToSkip(); #endif - recipientActor->Receive(ev); + recipientActor->Receive(ev, ctx); node->ExecutorThread->DropUnregistered(); } CurrentRecipient = TActorId(); @@ -1866,8 +1865,7 @@ namespace NActors { if (HasReply) { delete Context->Queue->Pop(); } - IEventHandle::Forward(ev, originalSender); - ctx.ExecutorThread.Send(ev); + ctx.ExecutorThread.Send(IEventHandle::Forward(ev, originalSender)); if (!IsSync && Context->Queue->Head()) { SendHead(ctx); } @@ -1899,17 +1897,9 @@ namespace NActors { TAutoPtr<IEventHandle> GetForwardedEvent() { IEventHandle* ev = Context->Queue->Head(); ReplyChecker->OnRequest(ev); - TAutoPtr<IEventHandle> forwardedEv; - if (ev->IsEventLight()) { - IEventHandleLight* evl = IEventHandleLight::GetLight(ev); - evl->PrepareSend(Delegatee, ReplyId); - forwardedEv = ev; - } else { - IEventHandleFat* evf = IEventHandleFat::GetFat(ev); - forwardedEv = ev->HasEvent() - ? new IEventHandleFat(Delegatee, ReplyId, evf->ReleaseBase().Release(), evf->Flags, evf->Cookie) - : new IEventHandleFat(evf->GetTypeRewrite(), evf->Flags, Delegatee, ReplyId, evf->ReleaseChainBuffer(), evf->Cookie); - } + TAutoPtr<IEventHandle> forwardedEv = ev->HasEvent() + ? new IEventHandle(Delegatee, ReplyId, ev->ReleaseBase().Release(), ev->Flags, ev->Cookie) + : new IEventHandle(ev->GetTypeRewrite(), ev->Flags, Delegatee, ReplyId, ev->ReleaseChainBuffer(), ev->Cookie); return forwardedEv; } diff --git a/library/cpp/actors/testlib/test_runtime.h b/library/cpp/actors/testlib/test_runtime.h index c48708b975b..0c1e4207cc7 100644 --- a/library/cpp/actors/testlib/test_runtime.h +++ b/library/cpp/actors/testlib/test_runtime.h @@ -260,7 +260,7 @@ namespace NActors { bool DispatchEvents(const TDispatchOptions& options = TDispatchOptions()); bool DispatchEvents(const TDispatchOptions& options, TDuration simTimeout); bool DispatchEvents(const TDispatchOptions& options, TInstant simDeadline); - void Send(const TActorId& recipient, const TActorId& sender, TAutoPtr<IEventHandleLight> ev, ui32 senderNodeIndex = 0, bool viaActorSystem = false); + void Send(const TActorId& recipient, const TActorId& sender, TAutoPtr<IEventBase> ev, ui32 senderNodeIndex = 0, bool viaActorSystem = false); void Send(TAutoPtr<IEventHandle> ev, ui32 senderNodeIndex = 0, bool viaActorSystem = false); void SendAsync(TAutoPtr<IEventHandle> ev, ui32 senderNodeIndex = 0); void Schedule(TAutoPtr<IEventHandle> ev, const TDuration& duration, ui32 nodeIndex = 0); @@ -371,7 +371,7 @@ namespace NActors { std::function<bool(const TEvent&)> truth = [](const TEvent&) { return true; }; GrabEdgeEventIf(handle, truth, simTimeout); if (handle) { - return THolder<TEvent>(IEventHandle::Release<TEvent>(handle)); + return THolder<TEvent>(handle->Release<TEvent>()); } return {}; } |