瀏覽代碼

Code shuffle.

master
Richard Nyberg 20 年之前
父節點
當前提交
80214ff0fb
共有 3 個文件被更改,包括 19 次插入13 次删除
  1. +2
    -13
      btpd/net.c
  2. +16
    -0
      btpd/peer.c
  3. +1
    -0
      btpd/peer.h

+ 2
- 13
btpd/net.c 查看文件

@@ -239,17 +239,7 @@ net_state(struct peer *p, const char *buf)
|| bcmp(buf, btpd.peer_id, 20) == 0))
goto bad;
bcopy(buf, p->id, 20);
btpd_log(BTPD_L_CONN, "Got whole shake.\n");
p->piece_field = btpd_calloc(1, (int)ceil(p->tp->meta.npieces / 8.0));
if (p->tp->have_npieces > 0) {
if (p->tp->have_npieces * 9 < 5 + ceil(p->tp->meta.npieces / 8.0))
peer_send(p, nb_create_multihave(p->tp));
else {
peer_send(p, nb_create_bitfield(p->tp));
peer_send(p, nb_create_bitdata(p->tp));
}
}
cm_on_new_peer(p);
peer_on_shake(p);
net_set_state(p, NET_MSGSIZE, 4);
break;
case NET_MSGSIZE:
@@ -265,9 +255,8 @@ net_state(struct peer *p, const char *buf)
if (net_dispatch_msg(p, buf) != 0)
goto bad;
net_set_state(p, NET_MSGSIZE, 4);
} else {
} else
net_set_state(p, NET_MSGBODY, p->net.msg_len - 1);
}
break;
case NET_MSGBODY:
if (net_dispatch_msg(p, buf) != 0)


+ 16
- 0
btpd/peer.c 查看文件

@@ -302,6 +302,22 @@ peer_create_out_compact(struct torrent *tp, const char *compact)
peer_send(p, nb_create_shake(p->tp));
}

void
peer_on_shake(struct peer *p)
{
btpd_log(BTPD_L_MSG, "received shake from %p.\n", p);
p->piece_field = btpd_calloc(1, (int)ceil(p->tp->meta.npieces / 8.0));
if (p->tp->have_npieces > 0) {
if (p->tp->have_npieces * 9 < 5 + ceil(p->tp->meta.npieces / 8.0))
peer_send(p, nb_create_multihave(p->tp));
else {
peer_send(p, nb_create_bitfield(p->tp));
peer_send(p, nb_create_bitdata(p->tp));
}
}
cm_on_new_peer(p);
}

void
peer_on_choke(struct peer *p)
{


+ 1
- 0
btpd/peer.h 查看文件

@@ -88,6 +88,7 @@ void peer_create_out(struct torrent *tp, const uint8_t *id,
void peer_create_out_compact(struct torrent *tp, const char *compact);
void peer_kill(struct peer *p);

void peer_on_shake(struct peer *p);
void peer_on_interest(struct peer *p);
void peer_on_uninterest(struct peer *p);
void peer_on_choke(struct peer *p);


Loading…
取消
儲存