edu.wpi.first.networktables

## Class RpcCall

- java.lang.Object
- - edu.wpi.first.networktables.RpcCall

-     public final class RpcCall
      extends java.lang.Object

  NetworkTables Remote Procedure Call.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RpcCall(NetworkTableEntry entry, int call)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancelResult()` Ignore the result.
    `void` | `free()` Cancels the result if no other action taken.
    `int` | `getCall()` Get the call native handle.
    `NetworkTableEntry` | `getEntry()` Get the RPC entry.
    `byte[]` | `getResult()` Get the result (return value).
    `byte[]` | `getResult(double timeout)` Get the result (return value).
    `boolean` | `isValid()` Determines if the native handle is valid.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RpcCall

          public RpcCall(NetworkTableEntry entry,
                         int call)

      Constructor. This should generally only be used internally to NetworkTables.
      Parameters:
        `entry` - Entry
        `call` - Call handle

  - ### Method Detail

    - #### free

          public void free()

      Cancels the result if no other action taken.

    - #### isValid

          public boolean isValid()

      Determines if the native handle is valid.
      Returns:
        True if the native handle is valid, false otherwise.

    - #### getEntry

          public NetworkTableEntry getEntry()

      Get the RPC entry.
      Returns:
        NetworkTableEntry for the RPC.

    - #### getCall

          public int getCall()

      Get the call native handle.
      Returns:
        Native handle.

    - #### getResult

          public byte[] getResult()

      Get the result (return value). This function blocks until the result is received.
      Returns:
        Received result (output)

    - #### getResult

          public byte[] getResult(double timeout)

      Get the result (return value). This function blocks until the result is received or it times out.
      Parameters:
        `timeout` - timeout, in seconds
      Returns:
        Received result (output)

    - #### cancelResult

          public void cancelResult()

      Ignore the result. This function is non-blocking.