/[mldonkey]/mldonkey/src/networks/donkey/donkeyOvernet.ml
ViewVC logotype

Diff of /mldonkey/src/networks/donkey/donkeyOvernet.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.40 by spiralvoice, Mon Aug 1 20:26:06 2005 UTC revision 1.41 by spiralvoice, Thu Aug 4 21:41:15 2005 UTC
# Line 311  module Make(Proto: sig Line 311  module Make(Proto: sig
311      open Proto      open Proto
312    
313      let lprintf_nl () =      let lprintf_nl () =
314        lprintf "%s[%s]: "        lprintf "%s[%s] "
315        (log_time ())        (log_time ())
316        (if Proto.redirector_section = "DKKO" then "Overnet" else "Kademlia"); lprintf_nl2        (if Proto.redirector_section = "DKKO" then "Overnet" else "Kademlia"); lprintf_nl2
317    
# Line 914  let udp_client_handler t p = Line 914  let udp_client_handler t p =
914    match t with    match t with
915    
916    | OvernetConnect p ->    | OvernetConnect p ->
917        new_peer_message p;        let rec send p =
918        let p = new_peer p in          new_peer_message p;
919        udp_send p (OvernetConnectReply (get_any_peers 20))          let p = new_peer p in
920              udp_send p (OvernetConnectReply (get_any_peers 20))
921          in
922            if Ip.valid p.peer_ip && ip_reachable p.peer_ip && p.peer_port <> 0 then
923              send p
924            else
925              if Ip.valid other_ip && ip_reachable other_ip && other_port <> 0 then
926                begin
927                  if !verbose_overnet then
928                    lprintf_nl () "Connect: convert address %s:%d to %s:%d"
929                      (Ip.to_string p.peer_ip) p.peer_port (Ip.to_string other_ip) other_port;
930                  p.peer_ip <- other_ip;
931                  p.peer_port <- other_port;
932                  send p
933                end
934              else
935                begin
936                  if !verbose_overnet then
937                    lprintf_nl () "Connect: invalid IP %s:%d received from %s:%d"
938                      (Ip.to_string p.peer_ip) p.peer_port (Ip.to_string other_ip) other_port;
939                  failwith "Message not understood"
940                end
941    
942    | OvernetConnectReply ps ->    | OvernetConnectReply ps ->
943        UdpSocket.declare_pong other_ip;        UdpSocket.declare_pong other_ip;
# Line 937  let udp_client_handler t p = Line 958  let udp_client_handler t p =
958        iter ps;        iter ps;
959    
960    | OvernetPublicize p ->    | OvernetPublicize p ->
961        new_peer_message p;        let rec send p =
962        let p = new_peer p in          new_peer_message p;
963        udp_send p  (OvernetPublicized (Some (my_peer ())))          let p = new_peer p in
964              udp_send p (OvernetPublicized (Some (my_peer ())))
965          in
966            if Ip.valid p.peer_ip && ip_reachable p.peer_ip && p.peer_port <> 0 then
967              send p
968            else
969              if Ip.valid other_ip && ip_reachable other_ip && other_port <> 0 then
970                begin
971                  if !verbose_overnet then
972                    lprintf_nl () "Publicize: convert address %s:%d to %s:%d"
973                      (Ip.to_string p.peer_ip) p.peer_port (Ip.to_string other_ip) other_port;
974                  p.peer_ip <- other_ip;
975                  p.peer_port <- other_port;
976                  send p
977                end
978              else
979                begin
980                  if !verbose_overnet then
981                    lprintf_nl () "Publicize: invalid IP %s:%d received from %s:%d"
982                      (Ip.to_string p.peer_ip) p.peer_port (Ip.to_string other_ip) other_port;
983                  failwith "Message not understood"
984                end
985    
986    | OvernetPublicized None ->    | OvernetPublicized None ->
987        ()        ()

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.41

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26