]> Sergey Matveev's repositories - btrtrc.git/blobdiff - misc.go
Expose more callbacks and Request and ChunkSpec
[btrtrc.git] / misc.go
diff --git a/misc.go b/misc.go
index 9cc33bcaf38a560b1662db759c59d8df36a5ff67..5ad01d8594b7ab037fbc080516d61fdf7ab4e3c2 100644 (file)
--- a/misc.go
+++ b/misc.go
@@ -11,16 +11,16 @@ import (
        pp "github.com/anacrolix/torrent/peer_protocol"
 )
 
-type chunkSpec struct {
+type ChunkSpec struct {
        Begin, Length pp.Integer
 }
 
-type request struct {
+type Request struct {
        Index pp.Integer
-       chunkSpec
+       ChunkSpec
 }
 
-func (r request) ToMsg(mt pp.MessageType) pp.Message {
+func (r Request) ToMsg(mt pp.MessageType) pp.Message {
        return pp.Message{
                Type:   mt,
                Index:  r.Index,
@@ -29,11 +29,11 @@ func (r request) ToMsg(mt pp.MessageType) pp.Message {
        }
 }
 
-func newRequest(index, begin, length pp.Integer) request {
-       return request{index, chunkSpec{begin, length}}
+func newRequest(index, begin, length pp.Integer) Request {
+       return Request{index, ChunkSpec{begin, length}}
 }
 
-func newRequestFromMessage(msg *pp.Message) request {
+func newRequestFromMessage(msg *pp.Message) Request {
        switch msg.Type {
        case pp.Request, pp.Cancel, pp.Reject:
                return newRequest(msg.Index, msg.Begin, msg.Length)
@@ -55,7 +55,7 @@ func metadataPieceSize(totalSize int, piece int) int {
 
 // Return the request that would include the given offset into the torrent data.
 func torrentOffsetRequest(torrentLength, pieceSize, chunkSize, offset int64) (
-       r request, ok bool) {
+       r Request, ok bool) {
        if offset < 0 || offset >= torrentLength {
                return
        }
@@ -74,10 +74,10 @@ func torrentOffsetRequest(torrentLength, pieceSize, chunkSize, offset int64) (
        return
 }
 
-func torrentRequestOffset(torrentLength, pieceSize int64, r request) (off int64) {
+func torrentRequestOffset(torrentLength, pieceSize int64, r Request) (off int64) {
        off = int64(r.Index)*pieceSize + int64(r.Begin)
        if off < 0 || off >= torrentLength {
-               panic("invalid request")
+               panic("invalid Request")
        }
        return
 }
@@ -98,8 +98,8 @@ func validateInfo(info *metainfo.Info) error {
        return nil
 }
 
-func chunkIndexSpec(index pp.Integer, pieceLength, chunkSize pp.Integer) chunkSpec {
-       ret := chunkSpec{pp.Integer(index) * chunkSize, chunkSize}
+func chunkIndexSpec(index pp.Integer, pieceLength, chunkSize pp.Integer) ChunkSpec {
+       ret := ChunkSpec{pp.Integer(index) * chunkSize, chunkSize}
        if ret.Begin+ret.Length > pieceLength {
                ret.Length = pieceLength - ret.Begin
        }