3d6518081a
To handle concurrent deletion requests we need to combine them into a single request. To implement this we introduces few concurrency ideas: * Combiner, which takes a node id and a Job and handles combining multiple requests to a single batch. * Job, which represents deleting of multiple piece ids with a notification mechanism to the caller. * Queue, which provides communication from Combiner to Handler. It can limit the number of requests per work queue. * Handler, which takes an active Queue and processes it until it has consumed all the jobs. It can provide limits to handling concurrency. Change-Id: I3299325534abad4bae66969ffa16c6ed95d5574f |
||
---|---|---|
.. | ||
piecedeletion | ||
batch.go | ||
config.go | ||
db_test.go | ||
db.go | ||
delete_pieces_service_test.go | ||
delete_pieces_service.go | ||
endpoint_test.go | ||
loop_test.go | ||
loop.go | ||
loopstats.go | ||
metainfo_old_test.go | ||
metainfo_test.go | ||
metainfo.go | ||
service_test.go | ||
service.go | ||
validation.go |