本文整理汇总了C#中IConnection.MarkLastMessage方法的典型用法代码示例。如果您正苦于以下问题:C# IConnection.MarkLastMessage方法的具体用法?C# IConnection.MarkLastMessage怎么用?C# IConnection.MarkLastMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IConnection
的用法示例。
在下文中一共展示了IConnection.MarkLastMessage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessResponse
public static void ProcessResponse(IConnection connection, string response, out bool shouldReconnect, out bool disconnected, Action onInitialized)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
connection.MarkLastMessage();
shouldReconnect = false;
disconnected = false;
if (String.IsNullOrEmpty(response))
{
return;
}
try
{
var result = JValue.Parse(response);
if (!result.HasValues)
{
return;
}
if (result["I"] != null)
{
connection.OnReceived(result);
return;
}
shouldReconnect = (int?)result["T"] == 1;
disconnected = (int?)result["D"] == 1;
if (disconnected)
{
return;
}
UpdateGroups(connection, groupsToken: result["G"]);
var messages = result["M"] as JArray;
if (messages != null)
{
connection.MessageId = (string)result["C"];
foreach (JToken message in (IEnumerable<JToken>)messages)
{
connection.OnReceived(message);
}
TryInitialize(result, onInitialized);
}
}
catch (Exception ex)
{
connection.OnError(ex);
}
}
示例2: OnChunk
private static bool OnChunk(IConnection connection, ArraySegment<byte> readBuffer)
{
if (IsKeepAlive(readBuffer))
{
connection.MarkLastMessage();
return false;
}
return true;
}
示例3: ProcessResponse
// virtual to allow mocking
protected internal virtual bool ProcessResponse(IConnection connection, string response)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
if (_initializationHandler == null)
{
throw new InvalidOperationException(Resources.Error_ProcessResponseBeforeStart);
}
connection.MarkLastMessage();
if (String.IsNullOrEmpty(response))
{
return false;
}
var shouldReconnect = false;
try
{
var result = connection.JsonDeserializeObject<JObject>(response);
if (!result.HasValues)
{
return false;
}
if (result["I"] != null)
{
connection.OnReceived(result);
return false;
}
shouldReconnect = (int?)result["T"] == 1;
var groupsToken = result["G"];
if (groupsToken != null)
{
connection.GroupsToken = (string)groupsToken;
}
var messages = result["M"] as JArray;
if (messages != null)
{
connection.MessageId = (string)result["C"];
foreach (JToken message in (IEnumerable<JToken>)messages)
{
connection.OnReceived(message);
}
if ((int?)result["S"] == 1)
{
_initializationHandler.InitReceived();
}
}
}
catch (Exception ex)
{
connection.OnError(ex);
}
return shouldReconnect;
}