aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/actors/interconnect/load.h
blob: 78c80c8e1738ed3fb97210c9684014d6459d5777 (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/actor.h>

namespace NInterconnect {
    // load responder -- lives on every node as a service actor
    NActors::IActor* CreateLoadResponderActor(); 
    NActors::TActorId MakeLoadResponderActorId(ui32 node);

    // load actor -- generates load with specific parameters
    struct TLoadParams {
        TString Name;
        ui32 Channel;
        TVector<ui32> NodeHops;             // node ids for the message route 
        ui32 SizeMin, SizeMax;              // min and max size for payloads 
        ui32 InFlyMax;                      // maximum number of in fly messages 
        TDuration IntervalMin, IntervalMax; // min and max intervals between sending messages
        bool SoftLoad;                      // is the load soft? 
        TDuration Duration;                 // test duration 
        bool UseProtobufWithPayload;        // store payload separately
    };
    NActors::IActor* CreateLoadActor(const TLoadParams& params); 

}