mirror of
https://github.com/LBRYFoundation/tracker.git
synced 2025-08-23 17:47:29 +00:00
Merge pull request #92 from chihaya/sizefix
decrement storage size when purging torrents
This commit is contained in:
commit
5c900a210f
3 changed files with 34 additions and 15 deletions
|
@ -1,7 +1,6 @@
|
||||||
language: go
|
language: go
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.4
|
|
||||||
- 1.5
|
- 1.5
|
||||||
- tip
|
- tip
|
||||||
|
|
||||||
|
|
47
README.md
47
README.md
|
@ -25,19 +25,37 @@ Features include:
|
||||||
|
|
||||||
## When would I use Chihaya?
|
## When would I use Chihaya?
|
||||||
|
|
||||||
Chihaya is a meant for every kind of BitTorrent tracker deployment. Chihaya has
|
Chihaya is a eventually meant for every kind of BitTorrent tracker deployment.
|
||||||
been used to replace instances of [opentracker] and also instances of [ocelot].
|
Chihaya has been used to replace instances of [opentracker] and also instances of [ocelot].
|
||||||
Chihaya handles torrent announces and scrapes in memory, but using a backend
|
Chihaya handles torrent announces and scrapes in memory.
|
||||||
driver, can also asynchronously provide deltas to maintain a set of persistent
|
However, using a backend driver, Chihaya can also asynchronously provide deltas to maintain a set of persistent data without throttling a database.
|
||||||
data without throttling a database (this most useful for private tracker
|
This is particularly useful behavior for private tracker use-cases.
|
||||||
use-cases).
|
|
||||||
|
|
||||||
[opentracker]: http://erdgeist.org/arts/software/opentracker
|
[opentracker]: http://erdgeist.org/arts/software/opentracker
|
||||||
[ocelot]: https://github.com/WhatCD/Ocelot
|
[ocelot]: https://github.com/WhatCD/Ocelot
|
||||||
|
|
||||||
## Building & Installing
|
## Running Chihaya
|
||||||
|
|
||||||
Chihaya requires Go 1.4+ (preferrably the latest stable Go), [Godep], and a [Go environment] previously set up.
|
### Configuration
|
||||||
|
|
||||||
|
Copy [`example_config.json`] to your choice of location, and update the values as required.
|
||||||
|
An explanation of the available keys can be found in [CONFIGURATION.md].
|
||||||
|
|
||||||
|
[`example_config.json`]: https://github.com/chihaya/chihaya/blob/master/example_config.json
|
||||||
|
[CONFIGURATION.md]: https://github.com/chihaya/chihaya/blob/master/CONFIGURATION.md
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ docker pull quay.io/jzelinskie/chihaya:latest
|
||||||
|
$ docker run -p 6881:6881 -v $DIR_WITH_CONFIG:/config:ro quay.io/jzelinskie/chihaya:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Developing Chihaya
|
||||||
|
|
||||||
|
### Building & Installing
|
||||||
|
|
||||||
|
Chihaya requires Go 1.5+ (preferrably the latest stable Go), [Godep], and a [Go environment] previously set up.
|
||||||
|
|
||||||
[Godep]: https://github.com/tools/godep
|
[Godep]: https://github.com/tools/godep
|
||||||
[Go environment]: https://golang.org/doc/code.html
|
[Go environment]: https://golang.org/doc/code.html
|
||||||
|
@ -52,8 +70,8 @@ $ go install github.com/chihaya/chihaya/cmd/chihaya
|
||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
|
|
||||||
Chihaya has end-to-end test coverage for announces in addition to unit tests for
|
Chihaya has end-to-end test coverage for announces in addition to unit tests for isolated components.
|
||||||
isolated components. To run the tests, use:
|
To run the tests, use:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd $GOPATH/src/github.com/chihaya/chihaya
|
$ cd $GOPATH/src/github.com/chihaya/chihaya
|
||||||
|
@ -68,9 +86,10 @@ $ cd $GOPATH/src/github.com/chihaya/chihaya
|
||||||
$ godep go test -v ./... -bench .
|
$ godep go test -v ./... -bench .
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
### Contributing
|
||||||
|
|
||||||
Copy [`example_config.json`](https://github.com/chihaya/chihaya/blob/master/example_config.json)
|
See [CONTRIBUTING.md] for guidelines to contributing to the project.
|
||||||
to your choice of location, and update the values as required.
|
Feel free to make issues or ask questions.
|
||||||
An explanation of the available keys can be found in [CONFIGURATION.md](https://github.com/chihaya/chihaya/blob/master/CONFIGURATION.md).
|
Our maintainers are also always idle in #chihaya on freenode.
|
||||||
|
|
||||||
|
[CONTRIBUTING.md]: https://github.com/chihaya/chihaya/blob/master/CONTRIBUTING.md
|
||||||
|
|
|
@ -191,6 +191,7 @@ func (s *Storage) PurgeInactiveTorrent(infohash string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if torrent.PeerCount() == 0 {
|
if torrent.PeerCount() == 0 {
|
||||||
|
atomic.AddInt32(&s.size, -1)
|
||||||
delete(shard.torrents, infohash)
|
delete(shard.torrents, infohash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue