com.h3c.sdn.adm

## Interface TeammateCommandExecutorService

-     public interface TeammateCommandExecutorService

  Executes a command on teammates ignoring the local controller (or controller where the command was executed).

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `TeammateCommandExecutorService.CancellationCause` Cancellation cause.
    `static interface` | `TeammateCommandExecutorService.Command<R,I,T extends Addressable<IpAddress>>` Command.
    `static interface` | `TeammateCommandExecutorService.CommandListener<R,T extends Addressable<IpAddress>>` Command listener.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<R,I> Collection<Pair<SystemInformation,Result<R,Exception,TeammateCommandExecutorService.CancellationCause>>>` | `execute(TeammateCommandExecutorService.Command<R,I,SystemInformation> command, I input)` Executes a command across the team (After a team has been created).
    `<R,I> void` | `execute(TeammateCommandExecutorService.Command<R,I,SystemInformation> command, I input, TeammateCommandExecutorService.CommandListener<R,SystemInformation> listener)` Executes a command across the team (After a team has been created).
    `<R,I,T extends Addressable<IpAddress>> Collection<Pair<T,Result<R,Exception,TeammateCommandExecutorService.CancellationCause>>>` | `execute(TeammateCommandExecutorService.Command<R,I,T> command, I input, Collection<T> teammates)` Executes a command across a potential team (Before the team has been created).
    `<R,I,T extends Addressable<IpAddress>> void` | `execute(TeammateCommandExecutorService.Command<R,I,T> command, I input, Collection<T> teammates, TeammateCommandExecutorService.CommandListener<R,T> listener)` Executes a command across a potential team (Before the team has been created).

- - ### Method Detail

    - #### execute

          <R,I> Collection<Pair<SystemInformation,Result<R,Exception,TeammateCommandExecutorService.CancellationCause>>> execute(TeammateCommandExecutorService.Command<R,I,SystemInformation> command,
                                                                                                                               I input)

      Executes a command across the team (After a team has been created). The command will be executed in a multi-thread environment; thus, the command must be state-less and `input` must be immutable.

      This call is synchronous, so it will block until the execution is completed in all team mates.

      Parameters:
        `command` - command to execute.
        `input` - command's input.
      Returns:
        execution result.

    - #### execute

          <R,I,T extends Addressable<IpAddress>> Collection<Pair<T,Result<R,Exception,TeammateCommandExecutorService.CancellationCause>>> execute(TeammateCommandExecutorService.Command<R,I,T> command,
                                                                                                                                                I input,
                                                                                                                                                Collection<T> teammates)

      Executes a command across a potential team (Before the team has been created). The command will be executed in a multi-thread environment; thus, the command must be state-less and `input` must be immutable.

      This call is synchronous, so it will block until the execution is completed in all team mates.

      Parameters:
        `command` - command to execute.
        `input` - command's input.
        `teammates` - future teammates.
      Returns:
        execution result.

    - #### execute

          <R,I> void execute(TeammateCommandExecutorService.Command<R,I,SystemInformation> command,
                           I input,
                           TeammateCommandExecutorService.CommandListener<R,SystemInformation> listener)

      Executes a command across the team (After a team has been created). The command will be executed in a multi-thread environment; thus, the command must be state-less and `input` must be immutable.

      This call is asynchronous; the provided `listener` will be notified as commands are being processed.

      Parameters:
        `command` - command to execute.
        `input` - command's input.
        `listener` - command listener.

    - #### execute

          <R,I,T extends Addressable<IpAddress>> void execute(TeammateCommandExecutorService.Command<R,I,T> command,
                                                            I input,
                                                            Collection<T> teammates,
                                                            TeammateCommandExecutorService.CommandListener<R,T> listener)

      Executes a command across a potential team (Before the team has been created). The command will be executed in a multi-thread environment; thus, the command must be state-less and `input` must be immutable.

      This call is asynchronous; the provided `listener` will be notified as commands are being processed.

      Parameters:
        `command` - command to execute.
        `input` - command's input.
        `teammates` - future teammates.
        `listener` - command listener.

Copyright © 2014. All Rights Reserved.