aboutsummaryrefslogtreecommitdiff
path: root/torrent/torrent.go
blob: 256887fee5221151efb906c697b1d179227be7f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package torrent

import "time"

type File struct {
	Length int      `bencode:"length"`
	MD5Sum []byte   `bencode:"md5sum,optional"`
	Path   []string `bencode:"path"`
}

type Info struct {
	Length      int    `bencode:"length"`
	MD5Sum      []byte `bencode:"md5sum,optional"`
	Name        string `bencode:"name"`
	PieceLength int    `bencode:"piece length"`
	Pieces      []byte `bencode:"pieces"`
	Files       []File `bencode:"files"`
}

type Torrent struct {
	Announce     string    `bencode:"announce"`
	AnnounceList []string  `bencode:"announce-list,optional"`
	Comment      string    `bencode:"comment"`
	CreatedBy    string    `bencode:"created by,optional"`
	CreationDate time.Time `bencode:"creation date"`      // time.Time (unix time)
	HTTPSeeds    []string  `bencode:"httpseeds,optional"` // not in draft
	Info         Info      `bencode:"info"`
	URLList      string    `bencode:"url-list,optional"` // not in draft
}