# Class CAProtocolNegotiation

java.lang.Object
com.io7m.cardant.client.basic.internal.CAProtocolNegotiation

public final class CAProtocolNegotiation extends Object
Functions to negotiate protocols.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static CATransportType`
  `negotiateTransport(CAClientConfiguration configuration, CAClientConnectionParameters credentials, HttpClient httpClient, CAStrings strings)`
  Negotiate a transport.

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

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

- ## Method Details

  - ### negotiateTransport

    public static CATransportType negotiateTransport(CAClientConfiguration configuration, CAClientConnectionParameters credentials, HttpClient httpClient, CAStrings strings) throws CAClientException, InterruptedException
    Negotiate a transport.
    Parameters:
      `configuration` - The configuration
      `credentials` - The credentials
      `httpClient` - The HTTP client
      `strings` - The string resources
    Returns:
      The transport
    Throws:
      `CAClientException` - On errors
      `InterruptedException` - On interruption