aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/actors/interconnect/interconnect_handshake.h
blob: fc37f112516a3a8b4e70303f5dbb39c221576f63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include <library/cpp/actors/core/hfunc.h>
#include <library/cpp/actors/core/event_pb.h>
#include <library/cpp/actors/core/events.h>

#include "interconnect_common.h"
#include "interconnect_impl.h"
#include "poller_tcp.h"
#include "events_local.h"

namespace NActors {
    static constexpr TDuration DEFAULT_HANDSHAKE_TIMEOUT = TDuration::Seconds(5);
    static constexpr ui64 INTERCONNECT_PROTOCOL_VERSION = 2;

    using TSocketPtr = TIntrusivePtr<NInterconnect::TStreamSocket>;

    IActor* CreateOutgoingHandshakeActor(TInterconnectProxyCommon::TPtr common, const TActorId& self,
                                         const TActorId& peer, ui32 nodeId, ui64 nextPacket, TString peerHostName,
                                         TSessionParams params);

    IActor* CreateIncomingHandshakeActor(TInterconnectProxyCommon::TPtr common, TSocketPtr socket);

}