aeron-client/src/main/java/io/aeron/Aeron.java
public static Aeron connect(final Context ctx)
    {
        try
        {
            final Aeron aeron = new Aeron(ctx);

            if (ctx.useConductorAgentInvoker())
            {
                aeron.conductorInvoker.start();
            }
            else
            {
                AgentRunner.startOnThread(aeron.conductorRunner, ctx.threadFactory());
            }

            return aeron;
        }
        catch (final Exception ex)
        {
            ctx.close();
            throw ex;
        }
    }
public static Aeron connect(final Context ctx)
    {
        try
        {
            final Aeron aeron = new Aeron(ctx);

            if (ctx.useConductorAgentInvoker())
            {
                aeron.conductorInvoker.start();
            }
            else
            {
                AgentRunner.startOnThread(aeron.conductorRunner, ctx.threadFactory());
            }

            return aeron;
        }
        catch (final Exception ex)
        {
            ctx.close();
            throw ex;
        }
    }
Create an Aeron instance and connect to the media driver.
<p>
Threads required for interacting with the media driver are created and managed within the Aeron instance.
<p>
If an exception occurs while trying to establish a connection then the {@link Context#close()} method
will be called on the passed context.

@param ctx for configuration of the client.
@return the new {@link Aeron} instance connected to the Media Driver.