anchor.diff:  -behaviour(gen_server).
   
   -export([start_link/2, init/1, handle_call/3, handle_cast/2, handle_info/2,terminate/2, code_change/3]).
  --export([do_send/2, hello/1, echo_request/1, echo_request/2, role_request/1 ]).
  +-export([do_send/2]).
  +
  +%% Scenario's
  +-export([hello/1,
  +         echo_request/1,
  +         echo_request/2,
  +         features_request/1,
  +         get_config_request/1,
  +         barrier_request/1,
  +         queue_get_config_request/1,
  +         desc_request/1,
  +         flow_stats_request/1,
  +         flow_stats_request_with_cookie/2,
  +         aggregate_stats_request/1,
  +         table_stats_request/1,
  +         port_stats_request/1,
  +         queue_stats_request/1,
  +         group_stats_request/1,
  +         group_desc_request/1,
  +         group_features_request/1,
  +         remove_all_flows/1,
  +         set_config/1,
  +         group_mod/1,
  +         port_mod/1,
  +         group_mod_add_bucket_with_output_to_controller/2,
  +         group_mod_modify_bucket/2,
  +         delete_all_groups/1,
  +         port_desc_request/1,
  +         role_request/1,
  +         flow_mod_table_miss/1,
  +         flow_mod_delete_all_flows/1,
  +         set_async/1,
  +         get_async_request/1,
  +         role_request/3,
  +         flow_add/4,
  +         table_features_keep_table_0/1
  +        ]).
   
   -define(SERVER,?MODULE). 
   -define(STATE,of_driver_connection_state).
  
positive.code:     {noreply,State};
  handle_cast(scenarios,#?STATE{ socket = Socket, version = Version } = State) ->
      inet:setopts(Socket, [{active, once}]),
      %% io:format("... [~p] About to handle scenario's ...\n",[?MODULE]),
      Scenarios = [hello,echo_request,role_request],
      F=fun(Scenario) -> 
                io:format("... [~p] Scenario ~p ...\n",[?MODULE,Scenario]),
                timer:sleep(200),
                ok = do_send(Socket,?MODULE:Scenario(Version))
        end,
      lists:foreach(F,Scenarios),
      {noreply,State};
  handle_cast(Msg, #?STATE{ socket = Socket } = State) ->
      inet:setopts(Socket, [{active, once}]),
  
negative.code: hello(Version) ->
      message(#ofp_hello{},Version).
  
  %%--- Helpers --------------
  message(Body,Version) ->
      #ofp_message{version = Version,
                   xid     = get_xid(),
  