public PccrtpRequest CreatePccrtpRequest(
string serverAddress,
int port,
string requestFileName,
BranchCacheVersion version = BranchCacheVersion.V1,
bool missingData = false)
{
this.pccrtpRequest.ServerAddress = serverAddress;
this.pccrtpRequest.Port = port;
this.pccrtpRequest.RequestFileName = requestFileName;
Dictionary<string, string> tempHttpHeader = new Dictionary<string, string>();
tempHttpHeader.Add(PccrtpConsts.AcceptEncodingHttpHeader, "peerdist");
switch (version)
{
case BranchCacheVersion.V1:
tempHttpHeader.Add(PccrtpConsts.XP2PPeerDistHttpHeader, "Version=1.0" + (missingData ? ",MissingDataRequest=true" : ""));
break;
case BranchCacheVersion.V2:
tempHttpHeader.Add(PccrtpConsts.XP2PPeerDistHttpHeader, "Version=1.1" + (missingData ? ",MissingDataRequest=true" : ""));
tempHttpHeader.Add(PccrtpConsts.XP2PPeerDistExHttpHeader, "MinContentInformation=1.0, MaxContentInformation=2.0");
break;
default:
throw new NotImplementedException();
}
this.pccrtpRequest.HttpHeader = tempHttpHeader;
return this.pccrtpRequest;
}