Clean up Tx API
This commit is contained in:
parent
09d5c6cca7
commit
5084a2ac94
4 changed files with 22 additions and 22 deletions
|
@ -8,7 +8,7 @@ just yet, but these are the features it targets:
|
||||||
- *Fast* request processing
|
- *Fast* request processing
|
||||||
- A generic storage interface that is easily adapted to use any data store
|
- A generic storage interface that is easily adapted to use any data store
|
||||||
- Scaling properties that directly correlate with those of the chosen data store
|
- Scaling properties that directly correlate with those of the chosen data store
|
||||||
- IPv6 support
|
- Correct IPv6 support
|
||||||
- Maximum compatibility with what exists of the BitTorrent spec
|
- Maximum compatibility with what exists of the BitTorrent spec
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -89,13 +89,13 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
// Guarantee that no user is in both pools
|
// Guarantee that no user is in both pools
|
||||||
case seeder && leecher:
|
case seeder && leecher:
|
||||||
if left == 0 {
|
if left == 0 {
|
||||||
err := tx.RmLeecher(torrent, peer)
|
err := tx.RemoveLeecher(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
leecher = false
|
leecher = false
|
||||||
} else {
|
} else {
|
||||||
err := tx.RmSeeder(torrent, peer)
|
err := tx.RemoveSeeder(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
if left == 0 {
|
if left == 0 {
|
||||||
// Save the peer as a new seeder
|
// Save the peer as a new seeder
|
||||||
err := tx.NewSeeder(torrent, peer)
|
err := tx.AddSeeder(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
err = tx.NewLeecher(torrent, peer)
|
err = tx.AddLeecher(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -148,13 +148,13 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
switch {
|
switch {
|
||||||
case event == "stopped" || event == "paused":
|
case event == "stopped" || event == "paused":
|
||||||
if seeder {
|
if seeder {
|
||||||
err := tx.RmSeeder(torrent, peer)
|
err := tx.RemoveSeeder(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if leecher {
|
if leecher {
|
||||||
err := tx.RmLeecher(torrent, peer)
|
err := tx.RemoveLeecher(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -165,16 +165,16 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
case event == "completed":
|
case event == "completed":
|
||||||
err := tx.Snatch(user, torrent)
|
err := tx.RecordSnatch(user, torrent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
if leecher {
|
if leecher {
|
||||||
err := tx.RmLeecher(torrent, peer)
|
err := tx.RemoveLeecher(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
err = tx.NewSeeder(torrent, peer)
|
err = tx.AddSeeder(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -182,11 +182,11 @@ func (s Server) serveAnnounce(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
case leecher && left == 0:
|
case leecher && left == 0:
|
||||||
// A leecher completed but the event was never received
|
// A leecher completed but the event was never received
|
||||||
err := tx.RmLeecher(torrent, peer)
|
err := tx.RemoveLeecher(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
err = tx.NewSeeder(torrent, peer)
|
err = tx.AddSeeder(torrent, peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("server: %s", err)
|
log.Panicf("server: %s", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,7 +212,7 @@ func (tx *Tx) ClientWhitelisted(peerID string) (exists bool, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *Tx) Snatch(user *storage.User, torrent *storage.Torrent) error {
|
func (tx *Tx) RecordSnatch(user *storage.User, torrent *storage.Torrent) error {
|
||||||
if tx.done {
|
if tx.done {
|
||||||
return storage.ErrTxDone
|
return storage.ErrTxDone
|
||||||
}
|
}
|
||||||
|
@ -242,7 +242,7 @@ func (tx *Tx) MarkActive(t *storage.Torrent) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *Tx) NewLeecher(t *storage.Torrent, p *storage.Peer) error {
|
func (tx *Tx) AddLeecher(t *storage.Torrent, p *storage.Peer) error {
|
||||||
if tx.done {
|
if tx.done {
|
||||||
return storage.ErrTxDone
|
return storage.ErrTxDone
|
||||||
}
|
}
|
||||||
|
@ -272,7 +272,7 @@ func (tx *Tx) SetLeecher(t *storage.Torrent, p *storage.Peer) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *Tx) RmLeecher(t *storage.Torrent, p *storage.Peer) error {
|
func (tx *Tx) RemoveLeecher(t *storage.Torrent, p *storage.Peer) error {
|
||||||
if tx.done {
|
if tx.done {
|
||||||
return storage.ErrTxDone
|
return storage.ErrTxDone
|
||||||
}
|
}
|
||||||
|
@ -287,7 +287,7 @@ func (tx *Tx) RmLeecher(t *storage.Torrent, p *storage.Peer) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *Tx) NewSeeder(t *storage.Torrent, p *storage.Peer) error {
|
func (tx *Tx) AddSeeder(t *storage.Torrent, p *storage.Peer) error {
|
||||||
if tx.done {
|
if tx.done {
|
||||||
return storage.ErrTxDone
|
return storage.ErrTxDone
|
||||||
}
|
}
|
||||||
|
@ -317,7 +317,7 @@ func (tx *Tx) SetSeeder(t *storage.Torrent, p *storage.Peer) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *Tx) RmSeeder(t *storage.Torrent, p *storage.Peer) error {
|
func (tx *Tx) RemoveSeeder(t *storage.Torrent, p *storage.Peer) error {
|
||||||
if tx.done {
|
if tx.done {
|
||||||
return storage.ErrTxDone
|
return storage.ErrTxDone
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,12 +70,12 @@ type Tx interface {
|
||||||
ClientWhitelisted(peerID string) (bool, error)
|
ClientWhitelisted(peerID string) (bool, error)
|
||||||
|
|
||||||
// Writes
|
// Writes
|
||||||
Snatch(u *User, t *Torrent) error
|
RecordSnatch(u *User, t *Torrent) error
|
||||||
MarkActive(t *Torrent) error
|
MarkActive(t *Torrent) error
|
||||||
NewLeecher(t *Torrent, p *Peer) error
|
AddLeecher(t *Torrent, p *Peer) error
|
||||||
NewSeeder(t *Torrent, p *Peer) error
|
AddSeeder(t *Torrent, p *Peer) error
|
||||||
RmLeecher(t *Torrent, p *Peer) error
|
RemoveLeecher(t *Torrent, p *Peer) error
|
||||||
RmSeeder(t *Torrent, p *Peer) error
|
RemoveSeeder(t *Torrent, p *Peer) error
|
||||||
SetLeecher(t *Torrent, p *Peer) error
|
SetLeecher(t *Torrent, p *Peer) error
|
||||||
SetSeeder(t *Torrent, p *Peer) error
|
SetSeeder(t *Torrent, p *Peer) error
|
||||||
IncrementSlots(u *User) error
|
IncrementSlots(u *User) error
|
||||||
|
|
Loading…
Add table
Reference in a new issue