PeerCastStation.FLV.RTMP.RTMPSourceConnection.OnSetPeerBandwidth C# (CSharp) Method

OnSetPeerBandwidth() private method

private OnSetPeerBandwidth ( SetPeerBandwidthMessage msg, CancellationToken cancel_token ) : Task
msg SetPeerBandwidthMessage
cancel_token System.Threading.CancellationToken
return Task
    private Task OnSetPeerBandwidth(SetPeerBandwidthMessage msg, CancellationToken cancel_token)
    {
      switch (msg.LimitType) {
      case PeerBandwidthLimitType.Hard:
        sendWindowSize = msg.PeerBandwidth;
        sendWindowLimitType = msg.LimitType;
        break;
      case PeerBandwidthLimitType.Soft:
        sendWindowSize = Math.Min(sendWindowSize, msg.PeerBandwidth);
        sendWindowLimitType = msg.LimitType;
        break;
      case PeerBandwidthLimitType.Dynamic:
        if (sendWindowLimitType==PeerBandwidthLimitType.Hard) {
          sendWindowSize = msg.PeerBandwidth;
          sendWindowLimitType = msg.LimitType;
        }
        break;
      }
      return Task.Delay(0);
    }