parse browse/feed/chat headers on the uploader side
This commit is contained in:
@ -3,4 +3,5 @@ package com.muwire.core.upload
|
||||
class ContentRequest extends Request {
|
||||
Range range
|
||||
int have
|
||||
boolean browse, feed, chat
|
||||
}
|
||||
|
@ -137,4 +137,19 @@ class ContentUploader extends Uploader {
|
||||
request.infoHash == other.request.infoHash &&
|
||||
request.getDownloader() == other.request.getDownloader()
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBrowseEnabled() {
|
||||
request.browse
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFeedEnabled() {
|
||||
request.feed
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChatEnabled() {
|
||||
request.chat
|
||||
}
|
||||
}
|
||||
|
@ -75,4 +75,19 @@ class HashListUploader extends Uploader {
|
||||
HashListUploader other = (HashListUploader)o
|
||||
infoHash == other.infoHash && request.downloader == other.request.downloader
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBrowseEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFeedEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChatEnabled() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -55,8 +55,14 @@ class Request {
|
||||
def encoded = headers["X-Have"].trim()
|
||||
have = DataUtil.decodeXHave(encoded).size()
|
||||
}
|
||||
|
||||
boolean browse = headers.containsKey("Browse") && Boolean.parseBoolean(headers['Browse'])
|
||||
boolean feed = headers.containsKey("Feed") && Boolean.parseBoolean(headers['Feed'])
|
||||
boolean chat = headers.containsKey("Chat") && Boolean.parseBoolean(headers['Chat'])
|
||||
|
||||
new ContentRequest( infoHash : infoHash, range : new Range(start, end),
|
||||
headers : headers, downloader : downloader, have : have)
|
||||
headers : headers, downloader : downloader, have : have,
|
||||
browse : browse, feed : feed, chat : chat)
|
||||
}
|
||||
|
||||
static Request parseHashListRequest(InfoHash infoHash, InputStream is) throws IOException {
|
||||
|
@ -45,6 +45,10 @@ abstract class Uploader {
|
||||
|
||||
abstract long getTotalSize();
|
||||
|
||||
abstract boolean isBrowseEnabled();
|
||||
abstract boolean isFeedEnabled();
|
||||
abstract boolean isChatEnabled();
|
||||
|
||||
synchronized int speed() {
|
||||
final long now = System.currentTimeMillis()
|
||||
long interval = Math.max(1000, now - lastSpeedRead)
|
||||
|
Reference in New Issue
Block a user