aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/actors/interconnect/load.h
blob: 4e122f6e53e0fff5dc4c6f0c72202599e1200fb3 (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);
 
}