anchor.diff:  -spec new(sockmod(), socket(), [proplists:property()]) -> socket_state().
   new(SockMod, Socket, Opts) ->
       MaxStanzaSize = proplists:get_value(max_stanza_size, Opts, infinity),
  +    SockPeer =  proplists:get_value(sock_peer_name, Opts, none),
       XMLStream = case get_owner(SockMod, Socket) of
   		    Pid when Pid == self() ->
   			fxml_stream:new(self(), MaxStanzaSize);
  
positive.code:                        socket            :: socket(),
  		       max_stanza_size   :: timeout(),
  		       xml_stream :: undefined | fxml_stream:xml_stream_state(),
  		       shaper = none :: none | p1_shaper:state()}).
  
  -type socket_state() :: #socket_state{}.
  
  
negative.code:     #socket_state{sockmod = SockMod,
  		  socket = Socket,
  		  xml_stream = XMLStream,
  		  max_stanza_size = MaxStanzaSize,
  		  sock_peer_name = SockPeer}.
  
  connect(Addr, Port, Opts) ->
      connect(Addr, Port, Opts, infinity, self()).
  