public int RequestSegment(string path, long offset, int length, int token) { var req = new HyperRequestMessage { Token = token, Path = path, Offset = offset, Length = length }; _requests.Enqueue(req); for (int i = 0; i < _controlConnections.Count; i++) { if (_controlConnections[i].ConnectionStatus == ConnectionStatus.Connected) { _controlConnections[i].FlushRequestQueueAsync(); } } return(req.Token); }
public bool TryGetRequest(out HyperRequestMessage request) { return(_requests.TryDequeue(out request)); }
protected virtual void OnMessageSegmentRequest(HyperRequestMessage message) { }
protected override void OnMessageSegmentRequest(HyperRequestMessage message) { OnSegmentRequested(new HyperSegmentRequestEventArgs { Task = new HyperServerTask(message) }); }