##### experimental::basic_channel::basic_channel (2 of 4 overloads)

Construct and open a `experimental::basic_channel`.

    template<
        typename ExecutionContext>
    basic_channel(
        ExecutionContext & context,
        std::size_t max_buffer_size = 0,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());

This constructor creates and opens a channel.

###### Parameters

context

  An execution context which provides the I/O executor that the channel will use, by default, to dispatch handlers for any asynchronous operations performed on the channel.

max_buffer_size

  The maximum number of messages that may be buffered in the channel.