interconnect_impl.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "interconnect.h"
  3. #include <library/cpp/actors/protos/interconnect.pb.h>
  4. #include <library/cpp/actors/core/event_pb.h>
  5. #include <library/cpp/actors/helpers/mon_histogram_helper.h>
  6. #include <library/cpp/monlib/dynamic_counters/counters.h>
  7. namespace NActors {
  8. // resolve node info
  9. struct TEvInterconnect::TEvResolveNode: public TEventPB<TEvInterconnect::TEvResolveNode, NActorsInterconnect::TEvResolveNode, TEvInterconnect::EvResolveNode> {
  10. TEvResolveNode() {
  11. }
  12. TEvResolveNode(ui32 nodeId, TInstant deadline = TInstant::Max()) {
  13. Record.SetNodeId(nodeId);
  14. if (deadline != TInstant::Max()) {
  15. Record.SetDeadline(deadline.GetValue());
  16. }
  17. }
  18. };
  19. // node info
  20. struct TEvInterconnect::TEvNodeAddress: public TEventPB<TEvInterconnect::TEvNodeAddress, NActorsInterconnect::TEvNodeInfo, TEvInterconnect::EvNodeAddress> {
  21. TEvNodeAddress() {
  22. }
  23. TEvNodeAddress(ui32 nodeId) {
  24. Record.SetNodeId(nodeId);
  25. }
  26. };
  27. // register node
  28. struct TEvInterconnect::TEvRegisterNode: public TEventBase<TEvInterconnect::TEvRegisterNode, TEvInterconnect::EvRegisterNode> {
  29. };
  30. // reply on register node
  31. struct TEvInterconnect::TEvRegisterNodeResult: public TEventBase<TEvInterconnect::TEvRegisterNodeResult, TEvInterconnect::EvRegisterNodeResult> {
  32. };
  33. // disconnect
  34. struct TEvInterconnect::TEvDisconnect: public TEventLocal<TEvInterconnect::TEvDisconnect, TEvInterconnect::EvDisconnect> {
  35. };
  36. }