anchor.diff:      },
       RawMsg = messages:encode_msg(Msg),
       ok = ssl:send(Conn, RawMsg).
  +
  +
  +get_configuration(Conn) ->
  +    get_configuration(Conn, ?MSG_ID).
  +
  +get_configuration(Conn, MsgId) ->
  +    Msg = #'ClientMessage'{
  +        message_id = MsgId,
  +        message_body = {get_configuration, #'GetConfiguration'{}}
  +    },
  +
  +    RawMsg = messages:encode_msg(Msg),
  +    ok = ssl:send(Conn, RawMsg),
  +
  +    #'ServerMessage'{message_body = {
  +        configuration, #'Configuration'{} = Configuration}
  +    } = ?assertMatch(#'ServerMessage'{message_id = MsgId}, receive_server_message()),
  +
  +    Configuration.
  +
  +
  +get_subscriptions(Conn) ->
  +    get_subscriptions(Conn, all).
  +
  +get_subscriptions(Conn, ChosenSubscriptions) ->
  +    get_subscriptions(Conn, ChosenSubscriptions, ?MSG_ID).
  +
  +get_subscriptions(Conn, ChosenSubscriptions, MsgId) ->
  +    Configuration = get_configuration(Conn, MsgId),
  +    Subscriptions = Configuration#'Configuration'.subscriptions,
  +
  +    case ChosenSubscriptions of
  +        all ->
  +            Subscriptions;
  +        _ ->
  +            lists:filter(fun(#'Subscription'{type = {Type, _}}) ->
  +                lists:member(Type, ChosenSubscriptions)
  +            end, Subscriptions)
  +    end.
  +
  +
  +flush_events(Conn, ProviderId, SubscriptionId) ->
  +    flush_events(Conn, ProviderId, SubscriptionId, ?MSG_ID).
  +
  +flush_events(Conn, ProviderId, SubscriptionId, MsgId) ->
  +    Msg = #'ClientMessage'{
  +        message_id = MsgId,
  +        message_body = {flush_events, #'FlushEvents'{
  +            provider_id = ProviderId,
  +            context = term_to_binary(?IRRELEVANT_FIELD_VALUE),
  +            subscription_id = SubscriptionId
  +        }}
  +    },
  +    RawMsg = messages:encode_msg(Msg),
  +    ok = ssl:send(Conn, RawMsg).
  
positive.code:     }, message_id = MsgId}, receive_server_message()),
  
      HandleId.
  
  close(Conn, FileGuid, HandleId) ->
      close(Conn, FileGuid, HandleId, ?MSG_ID).
  
negative.code:     },
      messages:encode_msg(Message).
  
  
  open(Conn, FileGuid) ->
      open(Conn, FileGuid, 'READ_WRITE').
  
  