anchor.diff:  %%                         {stop, Reason}
   %% Description: Initiates the server
   %%--------------------------------------------------------------------
  -init([Host, Port, Service, Options]) ->
  +init([_Host, _Port, _Service, Options]) ->
       State = parse_options(Options, #state{}),
  -
  -    TcpOptions = [binary,
  -                  {packet, 0},
  -                  {active, false},
  -                  {nodelay, true}],
  -    TcpTimeout = State#state.connect_timeout,
  -
  -    case catch gen_tcp:connect(Host, Port, TcpOptions, TcpTimeout) of
  +    {ok, State}.
  +
  +parse_options([], State) ->
  +    State;
  +parse_options([{strict_read, Bool} | Rest], State) when is_boolean(Bool) ->
  +    parse_options(Rest, State#state{strict_read=Bool});
  +parse_options([{strict_write, Bool} | Rest], State) when is_boolean(Bool) ->
  +    parse_options(Rest, State#state{strict_write=Bool});
  +parse_options([{framed, Bool} | Rest], State) when is_boolean(Bool) ->
  +    parse_options(Rest, State#state{framed=Bool});
  +parse_options([{connect_timeout, TO} | Rest], State) when TO =:= infinity; is_integer(TO) ->
  +    parse_options(Rest, State#state{connect_timeout=TO}).
  +
  +%%--------------------------------------------------------------------
  +%% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
  +%%                                      {reply, Reply, State, Timeout} |
  +%%                                      {noreply, State} |
  +%%                                      {noreply, State, Timeout} |
  +%%                                      {stop, Reason, Reply, State} |
  +%%                                      {stop, Reason, State}
  +%% Description: Handling call messages
  +%%--------------------------------------------------------------------
  +handle_call({connect, Host, Port, Service}, _From, State = #state{connect_timeout=Timeout}) ->
  +    Options = [binary,
  +               {packet, 0},
  +               {active, false},
  +               {nodelay, true}],
  +
  +    case catch gen_tcp:connect(Host, Port, Options, Timeout) of
           {ok, Sock} ->
               {ok, Transport} = thrift_socket_transport:new(Sock),
               {ok, BufTransport} =
  
positive.code: %% cleaning up. When it returns, the gen_server terminates with Reason.
  %% The return value is ignored.
  %%--------------------------------------------------------------------
  terminate(Reason, State = #state{protocol = Protocol}) ->
  %%     error_logger:info_msg("thrift_client ~p terminating due to ~p", [self(), Reason]),
      thrift_protocol:close_transport(Protocol),
      ok.
  
  
negative.code:                                                         [{strict_read,  State#state.strict_read},
                                                           {strict_write, State#state.strict_write}]),
  
              {reply, ok, State#state{service  = Service,
                                      protocol = Protocol,
                                      seqid    = 0}};
          Error ->
              {stop, normal, Error, State}
      end;
  
  handle_call({call, Function, Args}, _From, State = #state{service = Service,
                                                            protocol = Protocol,
                                                            seqid = SeqId}) ->
  