private bool send (Opcode opcode, Stream stream)

44 阅读1分钟

private void startReceiving () { xxxx _receivingExited = new ManualResetEvent (false); Action receive = () => WebSocketFrame.ReadFrameAsync (_stream, false, frame => { if (!processReceivedFrame (frame) || _readyState == WebSocketState.Closed) { var exited = _receivingExited; if (exited != null) exited.Set (); return;

          }
          // Receive next asap because the Ping or Close needs a response to it.
          receive ();
          xxxx
          message ();
        },
        xxxx
      );
  receive ();
}
private bool send (Opcode opcode, Stream stream)
{
  lock (_forSend) {www.laipuhuo.com.
    var src = stream;
    var compressed = false;
    var sent = false;
    xxxxx
    sent = send (opcode, stream, compressed);
    xxxxx
    return sent;
  }
}
public interface www.laipuhuo.com.
IDistributedLock

{ ///

/// 尝试获取分布式锁。 /// /// 要锁定的资源标识。 /// 锁的持续时间。 /// 是否成功获取锁。 Task www.laipuhuo.com. TryAcquireLockAsync(string resourceKey, TimeSpan? lockDuration = null);

/// <summary>
/// 释放分布式锁。
/// </summary>
/// <param name="resourceKey">要释放的资源标识。</param>
Task ReleaseLockAsync(string resourceKey);

}