anchor.diff:  		 socket = none,
   		 transmitting = false,
   		 connection_manager_pid = no,
  +		 peerid = no,
  +		 infohash = no,
   		 name = no,
   		 send_pid = no,
  +		 his_peerid = no,
   		 filesystem_pid = no,
   		 his_requested_queue = no,
   		 my_requested_queue = no}).
   
  -init({Socket, ConnectionManagerPid, FileSystemPid, Name}) ->
  +init({Socket, ConnectionManagerPid, FileSystemPid, Name, PeerId, InfoHash}) ->
       {ok, #cstate{socket = Socket,
   		 connection_manager_pid = ConnectionManagerPid,
   		 filesystem_pid = FileSystemPid,
   		 name = Name,
  +		 peerid = PeerId,
  +		 infohash = InfoHash,
   		 his_requested_queue = queue:new(),
   		 my_requested_queue = queue:new()}}.
   
  
positive.code: %%     State#cstate{my_state = {Choked, not_intersted}}.
  
  %% Calls
  start_link(Socket, ConnectionManager, FileSystem, Name) ->
      gen_server:start_link(torrent_peer, {Socket, ConnectionManager, FileSystem, Name}, []).
  
  get_states(Pid) ->
      gen_server:call(Pid, get_states).
  
negative.code:     torrent_peer:send_loop(Socket, Master).
  
  handle_cast(startup, State) ->
      SendPid = spawn_link(fun(Socket, Pid, PeerId, InfoHash) ->
  				 peer_communication:send_handshake(Socket, PeerId, InfoHash),
  				 send_loop(Socket, Pid) end,
  			 [State#cstate.socket, self(),
  			  State#cstate.peerid,
  			  State#cstate.infohash]),
      {ok, HisPeerId} = peer_communication:recv_handshake(State#cstate.socket,
  							State#cstate.peerid,
  							State#cstate.infohash),
      spawn_link(fun(Socket, Pid) -> recv_loop(Socket, Pid) end,
  	       [State#cstate.socket, self()]),
      {noreply, State#cstate{send_pid = SendPid,
  			   his_peerid = HisPeerId}};
  handle_cast({receive_message, Message}, State) ->
      NewState = handle_message(Message, State),
      {noreply, NewState};
  