本文整理汇总了C#中Enyim.Caching.Memcached.Protocol.Binary.BinaryResponse类的典型用法代码示例。如果您正苦于以下问题:C# BinaryResponse类的具体用法?C# BinaryResponse怎么用?C# BinaryResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BinaryResponse类属于Enyim.Caching.Memcached.Protocol.Binary命名空间,在下文中一共展示了BinaryResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadResponse
protected internal override IOperationResult ReadResponse(PooledSocket socket)
{
var response = new BinaryResponse();
var serverData = new Dictionary<string, string>();
var retval = false;
while (response.Read(socket) && response.KeyLength > 0)
{
retval = true;
var data = response.Data;
var key = BinaryConverter.DecodeKey(data.Array, data.Offset, response.KeyLength);
var value = BinaryConverter.DecodeKey(data.Array, data.Offset + response.KeyLength, data.Count - response.KeyLength);
serverData[key] = value;
}
this.result = serverData;
this.StatusCode = response.StatusCode;
var result = new BinaryOperationResult()
{
StatusCode = StatusCode
};
result.PassOrFail(retval, "Failed to read response");
return result;
}
示例2: ProcessResponse
protected override bool ProcessResponse(BinaryResponse response)
{
if (response.StatusCode == 0)
{
int flags = BinaryConverter.DecodeInt32(response.Extra, 0);
this.result = new CacheItem((ushort)flags, response.Data);
this.Cas = response.CAS;
#if EVEN_MORE_LOGGING
if (log.IsDebugEnabled)
log.DebugFormat("Get succeeded for key '{0}'.", this.Key);
#endif
return true;
}
this.Cas = 0;
#if EVEN_MORE_LOGGING
if (log.IsDebugEnabled)
log.DebugFormat("Get failed for key '{0}'. Reason: {1}", this.Key, Encoding.ASCII.GetString(response.Data.Array, response.Data.Offset, response.Data.Count));
#endif
return false;
}
示例3: ProcessResponse
protected override IOperationResult ProcessResponse(BinaryResponse response)
{
var status = response.StatusCode;
var result = new BinaryOperationResult();
this.StatusCode = status;
if (status == 0)
{
int flags = BinaryConverter.DecodeInt32(response.Extra, 0);
this.result = new CacheItem((ushort)flags, response.Data);
this.Cas = response.CAS;
#if EVEN_MORE_LOGGING
if (log.IsDebugEnabled)
log.DebugFormat("Get succeeded for key '{0}'.", this.Key);
#endif
return result.Pass();
}
this.Cas = 0;
#if EVEN_MORE_LOGGING
if (log.IsDebugEnabled)
log.DebugFormat("Get failed for key '{0}'. Reason: {1}", this.Key, Encoding.ASCII.GetString(response.Data.Array, response.Data.Offset, response.Data.Count));
#endif
var message = ResultHelper.ProcessResponseData(response.Data);
return result.Fail(message);
}
示例4: ReadResponse
protected internal override bool ReadResponse(PooledSocket socket)
{
this.result = new Dictionary<string, CacheItem>();
this.Cas = new Dictionary<string, ulong>();
var response = new BinaryResponse();
while (response.Read(socket))
{
// found the noop, quit
if (response.CorrelationId == this.noopId)
return true;
string key;
// find the key to the response
if (!this.idToKey.TryGetValue(response.CorrelationId, out key))
{
// we're not supposed to get here tho
log.WarnFormat("Found response with CorrelationId {0}, but no key is matching it.", response.CorrelationId);
continue;
}
if (log.IsDebugEnabled) log.DebugFormat("Reading item {0}", key);
// deserialize the response
int flags = BinaryConverter.DecodeInt32(response.Extra, 0);
this.result[key] = new CacheItem((ushort)flags, response.Data);
this.Cas[key] = response.CAS;
}
// finished reading but we did not find the NOOP
return false;
}
示例5: ReadResponse
protected internal override bool ReadResponse(PooledSocket socket)
{
var response = new BinaryResponse();
var retval = response.Read(socket);
this.Cas = response.CAS;
return retval & this.ProcessResponse(response);
}
示例6: ReadResponse
protected internal override bool ReadResponse(PooledSocket socket)
{
var response = new BinaryResponse();
var retval = response.Read(socket);
this.StatusCode = StatusCode;
return retval;
}
示例7: ProcessResponse
protected override bool ProcessResponse(BinaryResponse response)
{
var r = base.ProcessResponse(response);
if (this.locator != null &&
!VBucketAwareOperationFactory.GuessResponseState(response, out this.state))
return false;
return r;
}
示例8: ProcessResponse
protected override bool ProcessResponse(BinaryResponse response)
{
#if EVEN_MORE_LOGGING
if (log.IsDebugEnabled)
if (response.StatusCode == 0)
log.DebugFormat("Delete succeeded for key '{0}'.", this.Key);
else
log.DebugFormat("Delete failed for key '{0}'. Reason: {1}", this.Key, Encoding.ASCII.GetString(response.Data.Array, response.Data.Offset, response.Data.Count));
#endif
return true;
}
示例9: ReadResponseAsync
protected internal override bool ReadResponseAsync(PooledSocket socket, Action<bool> next)
{
this.result = new Dictionary<string, CacheItem>();
this.Cas = new Dictionary<string, ulong>();
this.currentSocket = socket;
this.asyncReader = new BinaryResponse();
this.asyncLoopState = null;
this.afterAsyncRead = next;
return this.DoReadAsync();
}
示例10: ProcessResponse
protected override IOperationResult ProcessResponse(BinaryResponse response)
{
var r = base.ProcessResponse(response);
var result = new BinaryOperationResult();
if (this.locator != null &&
!VBucketAwareOperationFactory.GuessResponseState(response, out this.state))
{
return result.Fail("Failed to process response");
}
return r;
}
示例11: ProcessResponse
protected override IOperationResult ProcessResponse(BinaryResponse response)
{
var r = response.StatusCode == 0;
var result = new BinaryOperationResult();
if (this.locator != null &&
!VBucketAwareOperationFactory.GuessResponseState(response, out this.state))
{
return result.Fail("Process response failed");
}
return result.PassOrFail(r, "Processing response failed");
}
示例12: ProcessResponse
protected override bool ProcessResponse(BinaryResponse response)
{
if (response.StatusCode == 0)
{
var data = response.Data;
if (data.Count != 8)
throw new InvalidOperationException("result must be 8 bytes long, received: " + data.Count);
this.result = BinaryConverter.DecodeUInt64(data.Array, data.Offset);
return true;
}
return false;
}
示例13: ReadResponse
protected internal override IOperationResult ReadResponse(IPooledSocket socket)
{
var response = new BinaryResponse();
var retval = response.Read(socket);
this.StatusCode = StatusCode;
var result = new BinaryOperationResult()
{
Success = retval,
StatusCode = this.StatusCode
};
result.PassOrFail(retval, "Failed to read response");
return result;
}
示例14: ReadResponse
protected internal override IOperationResult ReadResponse(PooledSocket socket)
{
var response = new BinaryResponse();
var retval = response.Read(socket);
this.StatusCode = response.StatusCode;
this.Data = response.Data.Array;
var result = new BinaryOperationResult
{
StatusCode = this.StatusCode
};
result.PassOrFail(retval, "Failed to read response");
return result;
}
示例15: ProcessResponse
protected override IOperationResult ProcessResponse(BinaryResponse response)
{
var status = response.StatusCode;
var result = new BinaryOperationResult();
this.StatusCode = status;
if (status == 0)
{
this.Cas = response.CAS;
return result.Pass();
}
this.Cas = 0;
var message = ResultHelper.ProcessResponseData(response.Data);
return result.Fail(message);
}