| TestConductorThrottle Method |
Make the remoting pipeline on the node throttle data sent to or received
from the given remote peer. Throttling works by delaying packet submission
within the netty pipeline until the packet would have been completely sent
according to the given rate, the previous packet completion and the current
packet length. In case of large packets they are split up if the calculated
end pause would exceed `akka.testconductor.packet-split-threshold`
(roughly). All of this uses the system’s scheduler, which is not
terribly precise and will execute tasks later than they are schedule (even
on average), but that is countered by using the actual execution time for
determining how much to send, leading to the correct output rate, but with
increased latency.
====Note====
To use this feature you must activate the failure injector and throttler
transport adapters by specifying `testTransport(on = true)` in your MultiNodeConfig.
Namespace:
Akka.Remote.TestKit
Assembly:
Akka.Remote.TestKit (in Akka.Remote.TestKit.dll) Version: 1.2.3.42 (1.2.3.42)
Syntax public Task<Done> Throttle(
RoleName node,
RoleName target,
ThrottleTransportAdapterDirection direction,
float rateMBit
)
member Throttle :
node : RoleName *
target : RoleName *
direction : ThrottleTransportAdapterDirection *
rateMBit : float32 -> Task<Done>
Parameters
- node
- Type: Akka.Remote.TestKitRoleName
is the symbolic name of the node which is to be affected - target
- Type: Akka.Remote.TestKitRoleName
is the symbolic name of the other node to which connectivity shall be throttled - direction
- Type: Akka.Remote.TransportThrottleTransportAdapterDirection
can be either `Direction.Send`, `Direction.Receive` or `Direction.Both` - rateMBit
- Type: SystemSingle
is the maximum data rate in MBit
Return Value
Type:
TaskDone[Missing <returns> documentation for "M:Akka.Remote.TestKit.TestConductor.Throttle(Akka.Remote.TestKit.RoleName,Akka.Remote.TestKit.RoleName,Akka.Remote.Transport.ThrottleTransportAdapter.Direction,System.Single)"]
See Also