Skip to content

Commit

Permalink
speculative fix for announce stage
Browse files Browse the repository at this point in the history
  • Loading branch information
sarp committed Sep 19, 2024
1 parent 911c57f commit e0e4d13
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 24 deletions.
13 changes: 12 additions & 1 deletion internal/stage_magnet_reserved.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package internal
import (
"fmt"
"net"
"time"

logger "github.com/codecrafters-io/tester-utils/logger"
"github.com/codecrafters-io/tester-utils/test_case_harness"
)

Expand Down Expand Up @@ -41,8 +43,17 @@ func testMagnetReserved(stageHarness *test_case_harness.TestCaseHarness) error {
return nil
}

func closeConnection(conn net.Conn, logger *logger.Logger) {
logger.Debugln("Closing connection")
time.Sleep(2 * time.Second)
err := conn.Close()
if err != nil {
logger.Debugf("Error closing connection: %v", err)
}
}

func handleReservedBytes(conn net.Conn, p PeerConnectionParams) {
defer conn.Close()
defer closeConnection(conn, p.logger)

if err := receiveAndSendHandshake(conn, p); err != nil {
return
Expand Down
46 changes: 23 additions & 23 deletions internal/test_helpers/fixtures/pass_all
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[stage-19] Running tests for Stage #19: dv7
[stage-19] Running ./your_bittorrent.sh magnet_download -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3901904095/magnet1.gif "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce"
[your_program] Peer ID: 2d524e302e302e302dac43790f88eb67751818ce
[stage-19] Running ./your_bittorrent.sh magnet_download -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1734244054/magnet1.gif "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce"
[your_program] Peer ID: 2d524e302e302e302d4d3da0d6e8da27b42c4da7
[your_program] Peer Metadata Extension ID: 1
[your_program] extended message payload d8:msg_typei0e5:piecei0ee
[your_program] hmm2
Expand All @@ -9,26 +9,26 @@
[stage-19] Test passed.

[stage-18] Running tests for Stage #18: qv6
[stage-18] Running ./your_bittorrent.sh magnet_download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents531223560/piece-1 "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce" 1
[your_program] Peer ID: 2d524e302e302e302dac43790f88eb67751818ce
[stage-18] Running ./your_bittorrent.sh magnet_download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents4129657590/piece-1 "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce" 1
[your_program] Peer ID: 2d524e302e302e302d4d3da0d6e8da27b42c4da7
[your_program] Peer Metadata Extension ID: 1
[your_program] extended message payload d8:msg_typei0e5:piecei0ee
[stage-18] ✓ Piece size is correct.
[stage-18] ✓ Piece SHA-1 is correct.
[stage-18] Running ./your_bittorrent.sh magnet_download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents531223560/piece-2 "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce" 2
[your_program] Peer ID: 2d524e302e302e302dac43790f88eb67751818ce
[stage-18] Running ./your_bittorrent.sh magnet_download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents4129657590/piece-2 "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2Fbittorrent-test-tracker.codecrafters.io%2Fannounce" 2
[your_program] Peer ID: 2d524e302e302e302d4d3da0d6e8da27b42c4da7
[your_program] Peer Metadata Extension ID: 1
[your_program] extended message payload d8:msg_typei0e5:piecei0ee
[stage-18] ✓ Piece size is correct.
[stage-18] ✓ Piece SHA-1 is correct.
[stage-18] Test passed.

[stage-17] Running tests for Stage #17: zh1
[stage-17] Running ./your_bittorrent.sh magnet_info "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:65411%2Fannounce"
[stage-17] Running ./your_bittorrent.sh magnet_info "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:64908%2Fannounce"
[your_program] Peer ID: c36b0567cd055ac9839e682ab0c3683bb691fa14
[your_program] Peer Metadata Extension ID: 224
[your_program] extended message payload �d8:msg_typei0e5:piecei0ee
[your_program] Tracker URL: http://127.0.0.1:65411/announce
[your_program] Tracker URL: http://127.0.0.1:64908/announce
[your_program] Length: 636505
[your_program] Info Hash: ad42ce8109f54c99613ce38f9b4d87e70f24a165
[your_program] Piece Length: 262144
Expand All @@ -44,11 +44,11 @@
[stage-17] Test passed.

[stage-16] Running tests for Stage #16: ns5
[stage-16] Running ./your_bittorrent.sh magnet_info "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:65419%2Fannounce"
[stage-16] Running ./your_bittorrent.sh magnet_info "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:64912%2Fannounce"
[your_program] Peer ID: c36b0567cd055ac9839e682ab0c3683bb691fa14
[your_program] Peer Metadata Extension ID: 224
[your_program] extended message payload �d8:msg_typei0e5:piecei0ee
[your_program] Tracker URL: http://127.0.0.1:65419/announce
[your_program] Tracker URL: http://127.0.0.1:64912/announce
[your_program] Length: 636505
[your_program] Info Hash: ad42ce8109f54c99613ce38f9b4d87e70f24a165
[your_program] Piece Length: 262144
Expand All @@ -59,21 +59,21 @@
[stage-16] Test passed.

[stage-15] Running tests for Stage #15: jk6
[stage-15] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:65427%2Fannounce"
[stage-15] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:64916%2Fannounce"
[your_program] Peer ID: c36b0567cd055ac9839e682ab0c3683bb691fa14
[your_program] Peer Metadata Extension ID: 224
[stage-15] ✓ Peer ID is correct.
[stage-15] ✓ Peer Metadata Extension ID is correct.
[stage-15] Test passed.

[stage-14] Running tests for Stage #14: xi4
[stage-14] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:65431%2Fannounce"
[stage-14] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:64920%2Fannounce"
[your_program] Peer ID: c36b0567cd055ac9839e682ab0c3683bb691fa14
[your_program] Peer Metadata Extension ID: 224
[stage-14] Test passed.

[stage-13] Running tests for Stage #13: pk2
[stage-13] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:65439%2Fannounce"
[stage-13] Running ./your_bittorrent.sh magnet_handshake "magnet:?xt=urn:btih:ad42ce8109f54c99613ce38f9b4d87e70f24a165&dn=magnet1.gif&tr=http%3A%2F%2F127.0.0.1:64924%2Fannounce"
[your_program] Peer ID: c36b0567cd055ac9839e682ab0c3683bb691fa14
[your_program] Peer Metadata Extension ID: 224
[stage-13] Test passed.
Expand All @@ -87,21 +87,21 @@
[stage-12] Test passed.

[stage-11] Running tests for Stage #11: jv8
[stage-11] Running ./your_bittorrent.sh download -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents746826411/codercat.gif /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents746826411/codercat.gif.torrent
[stage-11] Running ./your_bittorrent.sh download -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2204793881/codercat.gif /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2204793881/codercat.gif.torrent
[stage-11] Test passed.

[stage-10] Running tests for Stage #10: nd2
[stage-10] Running ./your_bittorrent.sh download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3792513944/piece-2 /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3792513944/congratulations.gif.torrent 2
[stage-10] Running ./your_bittorrent.sh download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3792513944/piece-3 /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3792513944/congratulations.gif.torrent 3
[stage-10] Running ./your_bittorrent.sh download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3521740990/piece-2 /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3521740990/congratulations.gif.torrent 2
[stage-10] Running ./your_bittorrent.sh download_piece -o /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3521740990/piece-3 /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3521740990/congratulations.gif.torrent 3
[stage-10] Test passed.

[stage-9] Running tests for Stage #9: ca4
[stage-9] Running ./your_bittorrent.sh handshake /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2613762419/test.torrent 127.0.0.1:65474
[stage-9] Running ./your_bittorrent.sh handshake /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2307620495/test.torrent 127.0.0.1:64935
[your_program] Peer ID: ee8f5140bfc195c36b0567cd055ac9839e682ab0
[stage-9] Test passed.

[stage-8] Running tests for Stage #8: fi9
[stage-8] Running ./your_bittorrent.sh peers /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1980418863/test.torrent
[stage-8] Running ./your_bittorrent.sh peers /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents113451208/test.torrent
[your_program] 188.119.61.177:6881
[your_program] 71.224.0.29:51414
[your_program] 62.153.208.98:3652
Expand All @@ -114,7 +114,7 @@
[stage-8] Test passed.

[stage-7] Running tests for Stage #7: bf7
[stage-7] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2334590006/test.torrent
[stage-7] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents3782572238/test.torrent
[your_program] Tracker URL: http://bttracker.debian.org:6969/announce
[your_program] Length: 1835008
[your_program] Info Hash: 1840a71323682db707d1e8c9761049e875c03656
Expand All @@ -130,7 +130,7 @@
[stage-7] Test passed.

[stage-6] Running tests for Stage #6: rb2
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1193800380/itsworking.gif.torrent
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2031322021/itsworking.gif.torrent
[your_program] Tracker URL: http://bittorrent-test-tracker.codecrafters.io/announce
[your_program] Length: 2549700
[your_program] Info Hash: 70edcac2611a8829ebf467a6849f5d8408d9d8f4
Expand All @@ -146,7 +146,7 @@
[your_program] 272a8ff8fc865b053d974a78681414b38077d7b1
[your_program] b07128d3a6018062bfe779db96d3a93c05fb81d4
[your_program] 7affc94f0985b985eb888a36ec92652821a21be4
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1193800380/congratulations.gif.torrent
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2031322021/congratulations.gif.torrent
[your_program] Tracker URL: http://bittorrent-test-tracker.codecrafters.io/announce
[your_program] Length: 820892
[your_program] Info Hash: 1cad4a486798d952614c394eb15e75bec587fd08
Expand All @@ -156,7 +156,7 @@
[your_program] 69f885b3988a52ffb03591985402b6d5285940ab
[your_program] 76869e6c9c1f101f94f39de153e468be6a638f4f
[your_program] bded68d02de011a2b687f75b5833f46cce8e3e9c
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1193800380/codercat.gif.torrent
[stage-6] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2031322021/codercat.gif.torrent
[your_program] Tracker URL: http://bittorrent-test-tracker.codecrafters.io/announce
[your_program] Length: 2994120
[your_program] Info Hash: c77829d2a77d6516f88cd7a3de1a26abcbfab0db
Expand All @@ -177,7 +177,7 @@
[stage-6] Test passed.

[stage-5] Running tests for Stage #5: ow9
[stage-5] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents1107274827/codercat.gif.torrent
[stage-5] Running ./your_bittorrent.sh info /var/folders/08/v_mzt9816270xbqv5t3xgzyr0000gn/T/torrents2866522347/codercat.gif.torrent
[your_program] Tracker URL: http://bittorrent-test-tracker.codecrafters.io/announce
[your_program] Length: 2994120
[your_program] Info Hash: c77829d2a77d6516f88cd7a3de1a26abcbfab0db
Expand Down

0 comments on commit e0e4d13

Please sign in to comment.