]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Move piece into its own file
authorMatt Joiner <anacrolix@gmail.com>
Tue, 7 Apr 2015 16:14:35 +0000 (02:14 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 7 Apr 2015 16:14:35 +0000 (02:14 +1000)
misc.go
piece.go [new file with mode: 0644]

diff --git a/misc.go b/misc.go
index 873d73adfc0a6f580bf5b7648364113ff31f2e3c..4fbd1ff76825cd6d60ff0ad690eda76cb58fe7e7 100644 (file)
--- a/misc.go
+++ b/misc.go
@@ -4,8 +4,6 @@ import (
        "crypto"
        "errors"
        "fmt"
-       "math/rand"
-       "sync"
        "time"
 
        "github.com/anacrolix/torrent/peer_protocol"
@@ -33,44 +31,6 @@ func (ih *InfoHash) HexString() string {
        return fmt.Sprintf("%x", ih[:])
 }
 
-type piecePriority byte
-
-const (
-       piecePriorityNone piecePriority = iota
-       piecePriorityNormal
-       piecePriorityReadahead
-       piecePriorityNext
-       piecePriorityNow
-)
-
-type piece struct {
-       Hash              pieceSum
-       PendingChunkSpecs map[chunkSpec]struct{}
-       Hashing           bool
-       QueuedForHash     bool
-       EverHashed        bool
-       Event             sync.Cond
-       Priority          piecePriority
-}
-
-func (p *piece) shuffledPendingChunkSpecs() (css []chunkSpec) {
-       if len(p.PendingChunkSpecs) == 0 {
-               return
-       }
-       css = make([]chunkSpec, 0, len(p.PendingChunkSpecs))
-       for cs := range p.PendingChunkSpecs {
-               css = append(css, cs)
-       }
-       if len(css) <= 1 {
-               return
-       }
-       for i := range css {
-               j := rand.Intn(i + 1)
-               css[i], css[j] = css[j], css[i]
-       }
-       return
-}
-
 func lastChunkSpec(pieceLength peer_protocol.Integer) (cs chunkSpec) {
        cs.Begin = (pieceLength - 1) / chunkSize * chunkSize
        cs.Length = pieceLength - cs.Begin
diff --git a/piece.go b/piece.go
new file mode 100644 (file)
index 0000000..37b894b
--- /dev/null
+++ b/piece.go
@@ -0,0 +1,44 @@
+package torrent
+
+import (
+       "math/rand"
+       "sync"
+)
+
+type piecePriority byte
+
+const (
+       piecePriorityNone piecePriority = iota
+       piecePriorityNormal
+       piecePriorityReadahead
+       piecePriorityNext
+       piecePriorityNow
+)
+
+type piece struct {
+       Hash              pieceSum
+       PendingChunkSpecs map[chunkSpec]struct{}
+       Hashing           bool
+       QueuedForHash     bool
+       EverHashed        bool
+       Event             sync.Cond
+       Priority          piecePriority
+}
+
+func (p *piece) shuffledPendingChunkSpecs() (css []chunkSpec) {
+       if len(p.PendingChunkSpecs) == 0 {
+               return
+       }
+       css = make([]chunkSpec, 0, len(p.PendingChunkSpecs))
+       for cs := range p.PendingChunkSpecs {
+               css = append(css, cs)
+       }
+       if len(css) <= 1 {
+               return
+       }
+       for i := range css {
+               j := rand.Intn(i + 1)
+               css[i], css[j] = css[j], css[i]
+       }
+       return
+}