CSharpRTMP.Core.Protocols.Rtmp.GenericMessageFactory.GetAck C# (CSharp) Method

GetAck() public static method

public static GetAck ( ulong amount ) : AmfMessage
amount ulong
return AmfMessage
        public static AmfMessage GetAck(ulong amount)
        {
            AmfMessage result;
            result.Header = VH(HeaderType.HT_FULL, 2, 0, 0, Defines.RM_HEADER_MESSAGETYPE_ACK, 0, true);
            result.Body = Variant.GetMap(new VariantMapHelper { { Defines.RM_ACK, amount } });
            return result;
        }
        public static AmfMessage GetWinAckSize(uint value)

Usage Example

Beispiel #1
0
        public override bool SignalInputData(int recAmount)
        {
            if (_enqueueForDelete)
            {
                return(true);
            }
            bool result;

            if (_handshakeCompleted)
            {
                result = ProcessBytes(InputBuffer);
                var decodedBytes = GetDecodedBytesCount();
                if (result && (decodedBytes >= _nextReceivedBytesCountReport))
                {
                    var _bytesReadMessage = GenericMessageFactory.GetAck(decodedBytes);
                    _nextReceivedBytesCountReport += _winAckSize;
                    if (!SendMessage(_bytesReadMessage))
                    {
                        FATAL("Unable to send\n{0}", _bytesReadMessage.ToString());
                        return(false);
                    }
                }
            }
            else
            {
                result = PerformHandshake(InputBuffer);
                if (!result)
                {
                    FATAL("Unable to perform handshake");
                    return(false);
                }
                if (_handshakeCompleted)
                {
                    result = SignalInputData(recAmount);
                    if (result && (Type == ProtocolTypes.PT_OUTBOUND_RTMP))
                    {
                        result = _pProtocolHandler.OutboundConnectionEstablished((OutboundRTMPProtocol)this);
                    }
                }
            }
            return(result);
        }