anchor.diff:              {ok, TLSSocket} = ssl:ssl_accept(TCPSocket, TLSOpts),
               %% restore the expected active once setting
               ssl:setopts(TLSSocket, [{active, once}]),
  -            #connection{socket = TLSSocket, transport = ssl, control = ssl};
  +            #connection{socket = TLSSocket, transport = ssl, control = ssl, monotonic = false};
           _ ->
  -            #connection{socket = TCPSocket, transport = gen_tcp, control = inet}
  +            #connection{socket = TCPSocket, transport = gen_tcp, control = inet, monotonic = false}
       end.
   
   %% @see gen_tcp:send/2
   %% @see ssl:send/2
   -spec send(connection(), iodata()) -> ok | {error, reason()}.
  -send(#connection{socket = Socket, transport = Transport}, Data) ->
  -    Transport:send(Socket, Data).
  +send(#connection{socket = Socket, transport = Transport, monotonic = Monotonic}, Data) ->
  +    case Monotonic of
  +        true ->
  +            %% Get the current message queue time.
  +            {message_queue_len, MessageQueueLen} = process_info(self(), message_queue_len),
  +
  +            %% TODO: Get last send time.
  +            LastTransmissionTime = get(last_transmission_time),
  +
  +            %% Test for whether we should send or not.
  +            case monotonic_should_send(MessageQueueLen, LastTransmissionTime) of
  +                false ->
  +                    ok;
  +                true ->
  +                    send(Transport, Socket, Data)
  +            end;
  +        _ ->
  +            send(Transport, Socket, Data)
  +    end.
   
   %% @see gen_tcp:recv/2
   %% @see ssl:recv/2
  
positive.code:            Error
     end.
  
  tls_enabled() ->
      partisan_config:get(tls).
  
  tls_options() ->
      partisan_config:get(tls_options).
  
negative.code: socket(Conn) ->
      Conn#connection.socket.
  
  %% @private
  do_connect(Address, Port, Options, Timeout, Transport, Control) ->
     case Transport:connect(Address, Port, Options, Timeout) of
         {ok, Socket} ->
  