# Class IdUTransport1

java.lang.Object
com.io7m.idstore.user_client.internal.IdUTransport1

All Implemented Interfaces:
  `com.io7m.hibiscus.api.HBClientCloseableType<IdUClientException>, com.io7m.hibiscus.api.HBIOOperationsType<IdUMessageType, IdUClientException>, com.io7m.hibiscus.api.HBTransportType<IdUMessageType, IdUClientException>, IdUTransportType, AutoCloseable`

public final class IdUTransport1 extends Object implements IdUTransportType
The version 1 transport.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IdUTransport1(IdStrings inStrings, HttpClient inHttpClient, URI baseURI)`
  The version 1 transport.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `boolean`
  `isClosed()`
  `com.io7m.hibiscus.api.HBReadType<IdUMessageType>`
  `receive(Duration timeout)`
  `void`
  `send(IdUMessageType message)`
  `void`
  `sendAndForget(IdUMessageType message)`
  `IdUMessageType`
  `sendAndWait(IdUMessageType message, Duration timeout)`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### IdUTransport1

    public IdUTransport1(IdStrings inStrings, HttpClient inHttpClient, URI baseURI)
    The version 1 transport.
    Parameters:
      `inStrings` - The string resources
      `inHttpClient` - The HTTP client
      `baseURI` - The base URI

- ## Method Details

  - ### isClosed

    public boolean isClosed()
    Specified by:
      `isClosed` in interface `com.io7m.hibiscus.api.HBClientCloseableType<IdUClientException>`

  - ### close

    public void close() throws IdUClientException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `com.io7m.hibiscus.api.HBClientCloseableType<IdUClientException>`
    Throws:
      `IdUClientException`

  - ### receive

    public com.io7m.hibiscus.api.HBReadType<IdUMessageType> receive(Duration timeout) throws IdUClientException, InterruptedException
    Specified by:
      `receive` in interface `com.io7m.hibiscus.api.HBIOOperationsType<IdUMessageType, IdUClientException>`
    Throws:
      `IdUClientException`
      `InterruptedException`

  - ### send

    public void send(IdUMessageType message) throws IdUClientException, InterruptedException
    Specified by:
      `send` in interface `com.io7m.hibiscus.api.HBIOOperationsType<IdUMessageType, IdUClientException>`
    Throws:
      `IdUClientException`
      `InterruptedException`

  - ### sendAndForget

    public void sendAndForget(IdUMessageType message) throws IdUClientException, InterruptedException
    Specified by:
      `sendAndForget` in interface `com.io7m.hibiscus.api.HBIOOperationsType<IdUMessageType, IdUClientException>`
    Throws:
      `IdUClientException`
      `InterruptedException`

  - ### sendAndWait

    public IdUMessageType sendAndWait(IdUMessageType message, Duration timeout) throws IdUClientException, InterruptedException, TimeoutException
    Specified by:
      `sendAndWait` in interface `com.io7m.hibiscus.api.HBIOOperationsType<IdUMessageType, IdUClientException>`
    Throws:
      `IdUClientException`
      `InterruptedException`
      `TimeoutException`