in sdk/Domain/ResumableContext.cs [32:95]
public bool FromString(string value)
{
if (string.IsNullOrEmpty(value))
{
return false;
}
var tokens = value.Split(TokenSeparator);
if (tokens.Length != 7)
{
return false;
}
int partId;
if (!int.TryParse(tokens[0], out partId) || partId <= 0)
{
return false;
}
PartId = partId;
long position;
if (!long.TryParse(tokens[1], out position) || position < 0)
{
return false;
}
Position = position;
long length;
if (!long.TryParse(tokens[2], out length) || Length < 0)
{
return false;
}
Length = length;
bool isCompleted;
if (!bool.TryParse(tokens[3], out isCompleted))
{
return false;
}
IsCompleted = isCompleted;
int partNum;
if (string.IsNullOrEmpty(tokens[4]) && string.IsNullOrEmpty(tokens[5]))
{
PartETag = null;
}
else if (!(int.TryParse(tokens[4], out partNum) && partNum > 0 && !string.IsNullOrEmpty(tokens[5])))
{
return false;
}
else
{
PartETag = new PartETag(partNum, tokens[5]);
}
ulong crc = 0;
if (!ulong.TryParse(tokens[6], out crc))
{
return false;
}
Crc64 = crc;
return true;
}