TestConductor Methods |
The TestConductor type exposes the following members.
Name | Description | |
---|---|---|
Abort |
Tell the remote support to TCP_RESET the connection to the given remote
peer. It works regardless of whether the recipient was initiator or
responder.
| |
Blackhole |
Switch the helios pipeline of the remote support into blackhole mode for
sending and/or receiving: it will just drop all messages right before
submitting them to the Socket or right after receiving them from the
Socket.
====Note====
To use this feature you must activate the failure injector and throttler
transport adapters by specifying `testTransport(on = true)` in your MultiNodeConfig.
| |
Disconnect |
Tell the remote support to TCP_RESET the connection to the given remote
peer. It works regardless of whether the recipient was initiator or
responder.
| |
Enter(String) |
Enter the named barriers, one after the other, in the order given. Will
throw an exception in case of timeouts or other errors.
| |
Enter(TimeSpan, ImmutableListString) |
Enter the named barriers, one after the other, in the order given. Will
throw an exception in case of timeouts or other errors.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Exit |
Tell the actor system at the remote node to shut itself down. The node will also be
removed, so that the remaining nodes may still pass subsequent barriers.
| |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
Get | ||
GetAddressFor | ||
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetNodes |
Obtain the list of remote host names currently registered.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
PassThrough |
Switch the Helios pipeline of the remote support into pass through mode for
sending and/or receiving.
====Note====
To use this feature you must activate the failure injector and throttler
transport adapters by specifying `testTransport(on = true)` in your MultiNodeConfig.
| |
RemoveNode |
Remove a remote host from the list, so that the remaining nodes may still
pass subsequent barriers. This must be done before the client connection
breaks down in order to affect an "orderly" removal (i.e. without failing
present and future barriers).
| |
Shutdown |
Tell the actor system at the remote node to shut itself down without
awaiting termination of remote-deployed children. The node will also be
removed, so that the remaining nodes may still pass subsequent barriers.
| |
StartClient |
Connect to the conductor on the given port (the host is taken from setting
`akka.testconductor.host`). The connection is made asynchronously, but you
should await completion of the returned Future because that implies that
all expected participants of this test have successfully connected (i.e.
this is a first barrier in itself). The number of expected participants is
set in TestConductor`.startController()`.
| |
StartController |
Start the Controller, which in turn will
bind to a TCP port as specified in the `akka.testconductor.port` config
property, where 0 denotes automatic allocation. Since the latter is
actually preferred, a `Future[Int]` is returned which will be completed
with the port number actually chosen, so that this can then be communicated
to the players for their proper start-up.
This method also invokes Player.startClient,
since it is expected that the conductor participates in barriers for
overall coordination. The returned Future will only be completed once the
client’s start-up finishes, which in fact waits for all other players to
connect.
| |
Throttle |
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.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
AsInstanceOfT |
TBD
(Defined by Extensions.) | |
Match | Overloaded.
Matches the specified target.
(Defined by PatternMatch.) | |
MatchT | Overloaded.
Matches the specified target and return a result of target processing.
(Defined by PatternMatch.) |