anchor.diff:  %% everything to the peer and await the peer to get back to us. When he
   %% eventually gets back, we can check his InfoHash against ours.</p>
   %% @end
  --type capabilities() :: [{integer(), atom()}].
  --spec initiate_handshake(port(), binary(), binary()) ->
  -    {error, term()} | {ok, capabilities(), binary(), binary()}
  -                    | {ok, capabilities(), binary()}.
  +-type peerid() :: <<_:160>>.
  +-type infohash() :: <<_:160>>.
  +-spec initiate_handshake(port(), peerid(), infohash()) ->
  +     {'error',atom() | {'bad_header',binary()}}
  +     | {'ok',['extended_messaging' | 'fast_extension',...],<<_:160>>}.
   initiate_handshake(Socket, LocalPeerId, InfoHash) ->
       % Since we are the initiator, send out this handshake
       Header = protocol_header(),
  
positive.code:     R = encode_fastset(Rest),
      <<R/binary, Idx:32>>.
  
  extended_msg_contents(Port, ClientVersion, ReqQ) ->
      iolist_to_binary(
        etorrent_bcoding:encode(
  
negative.code: 	 {<<"reqq">>, ReqQ},
  	 {<<"m">>, empty_dict}])).
  
  
  