public SetPeerBandwidthMessage(RTMPMessage x) : base(x) { using (var reader = new RTMPBinaryReader(new MemoryStream(x.Body))) { PeerBandwidth = reader.ReadUInt32(); LimitType = (PeerBandwidthLimitType)reader.ReadByte(); } }
private static byte[] CreateBody(long bandwidth, PeerBandwidthLimitType limit_type) { var s = new MemoryStream(); using (var writer = new RTMPBinaryWriter(s)) { writer.WriteUInt32(bandwidth); writer.Write((byte)limit_type); } return(s.ToArray()); }
void OnSetPeerBandwidth(SetPeerBandwidthMessage msg) { 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; } }
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)); }
private static byte[] CreateBody(long bandwidth, PeerBandwidthLimitType limit_type) { var s = new MemoryStream(); using (var writer=new RTMPBinaryWriter(s)) { writer.WriteUInt32(bandwidth); writer.Write((byte)limit_type); } return s.ToArray(); }
public SetPeerBandwidthMessage(long timestamp, long stream_id, long bandwidth, PeerBandwidthLimitType limit_type) : base(RTMPMessageType.SetPeerBandwidth, timestamp, stream_id, CreateBody(bandwidth, limit_type)) { PeerBandwidth = bandwidth; }
public SetPeerBandwidthMessage(RTMPMessage x) : base(x) { using (var reader=new RTMPBinaryReader(new MemoryStream(x.Body))) { PeerBandwidth = reader.ReadUInt32(); LimitType = (PeerBandwidthLimitType)reader.ReadByte(); } }
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); }
protected virtual async 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; } }
public PeerBandwidth(int acknowledgementWindowSize, byte type) : base(0U, PacketContentType.SetPeerBandwith) { AckWindowSize = acknowledgementWindowSize; LimitType = (PeerBandwidthLimitType)type; }
public PeerBandwidth(int windowSize, PeerBandwidthLimitType type) : base(0U, PacketContentType.SetPeerBandwith) { AckWindowSize = windowSize; LimitType = type; }
void OnSetPeerBandwidth(SetPeerBandwidthMessage msg) { 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; } }