/// <summary> /// <para>Events:</para> /// <para>@emits icestatechange - (iceState: IceState)</para> /// <para>@emits iceselectedtuplechange - (iceSelectedTuple: TransportTuple)</para> /// <para>@emits dtlsstatechange - (dtlsState: DtlsState)</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newproducer - (producer: Producer)</para> /// <para>@emits newconsumer - (producer: Producer)</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataProducer: DataProducer)</para> /// <para>@emits icestatechange - (iceState: IceState)</para> /// <para>@emits iceselectedtuplechange - (iceSelectedTuple: TransportTuple)</para> /// <para>@emits dtlsstatechange - (dtlsState: DtlsState)</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="payloadChannel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> /// <param name="iceRole"></param> /// <param name="iceParameters"></param> /// <param name="iceCandidates"></param> /// <param name="iceState"></param> /// <param name="iceSelectedTuple"></param> /// <param name="dtlsParameters"></param> /// <param name="dtlsState"></param> /// <param name="dtlsRemoteCert"></param> public WebRtcTransport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, PayloadChannel payloadChannel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer> getProducerById, Func <string, DataProducer> getDataProducerById, string iceRole, IceParameters iceParameters, IceCandidate[] iceCandidates, IceState iceState, TransportTuple?iceSelectedTuple, DtlsParameters dtlsParameters, DtlsState dtlsState, string?dtlsRemoteCert ) : base(loggerFactory, transportInternalData, sctpParameters, sctpState, channel, payloadChannel, appData, getRouterRtpCapabilities, getProducerById, getDataProducerById) { _logger = loggerFactory.CreateLogger <WebRtcTransport>(); // Data IceRole = iceRole; IceParameters = iceParameters; IceCandidates = iceCandidates; IceState = iceState; IceSelectedTuple = iceSelectedTuple; DtlsParameters = dtlsParameters; DtlsState = dtlsState; DtlsRemoteCert = dtlsRemoteCert; HandleWorkerNotifications(); }
/// <summary> /// <para>Events:</para> /// <para>@emits routerclose</para> /// <para>@emits @close</para> /// <para>@emits @newproducer - (producer: Producer)</para> /// <para>@emits @producerclose - (producer: Producer)</para> /// <para>@emits @newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits @dataproducerclose - (dataProducer: DataProducer)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newproducer - (producer: Producer)</para> /// <para>@emits newconsumer - (producer: Producer)</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataProducer: DataProducer)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> public Transport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer> getProducerById, Func <string, DataProducer> getDataProducerById) { _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <Transport>(); // Internal Internal = transportInternalData; // Data SctpParameters = sctpParameters; SctpState = sctpState; Channel = channel; AppData = appData; GetRouterRtpCapabilities = getRouterRtpCapabilities; GetProducerById = getProducerById; GetDataProducerById = getDataProducerById; }
/// <summary> /// <para>Events:</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newproducer - (producer: Producer)</para> /// <para>@emits newconsumer - (consumer: Consumer)</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataConsumer: DataConsumer)</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="payloadChannel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> public PipeTransport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, PayloadChannel payloadChannel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer?> getProducerById, Func <string, DataProducer?> getDataProducerById, TransportTuple tuple, bool rtx, SrtpParameters?srtpParameters ) : base(loggerFactory, transportInternalData, sctpParameters, sctpState, channel, payloadChannel, appData, getRouterRtpCapabilities, getProducerById, getDataProducerById) { _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <PipeTransport>(); // Data Tuple = tuple; Rtx = rtx; SrtpParameters = srtpParameters; HandleWorkerNotifications(); }
/// <summary> /// <para>Events:</para> /// <para>@emits tuple - (tuple: TransportTuple)</para> /// <para>@emits rtcptuple - (rtcpTuple: TransportTuple)</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newproducer - (producer: Producer)</para> /// <para>@emits newconsumer - (producer: Producer)</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataProducer: DataProducer)</para> /// <para>@emits tuple - (tuple: TransportTuple)</para> /// <para>@emits rtcptuple - (rtcpTuple: TransportTuple)</para> /// <para>@emits sctpstatechange - (sctpState: SctpState)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="payloadChannel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> public PlainTransport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, PayloadChannel payloadChannel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer> getProducerById, Func <string, DataProducer> getDataProducerById, bool?rtcpMux, bool?comedia, TransportTuple tuple, TransportTuple?rtcpTuple, SrtpParameters?srtpParameters ) : base(loggerFactory, transportInternalData, sctpParameters, sctpState, channel, payloadChannel, appData, getRouterRtpCapabilities, getProducerById, getDataProducerById) { _logger = loggerFactory.CreateLogger <PlainTransport>(); // Data RtcpMux = rtcpMux; Comedia = comedia; Tuple = tuple; RtcpTuple = rtcpTuple; SrtpParameters = srtpParameters; HandleWorkerNotifications(); }
/// <summary> /// <para>Events:</para> /// <para>@emits routerclose</para> /// <para>@emits @close</para> /// <para>@emits @newproducer - (producer: Producer)</para> /// <para>@emits @producerclose - (producer: Producer)</para> /// <para>@emits @newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits @dataproducerclose - (dataProducer: DataProducer)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newproducer - (producer: Producer)</para> /// <para>@emits newconsumer - (producer: Producer)</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataProducer: DataProducer)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="payloadChannel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> protected Transport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, PayloadChannel payloadChannel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer?> getProducerById, Func <string, DataProducer?> getDataProducerById ) { _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <Transport>(); // Internal Internal = transportInternalData; // Data SctpParameters = sctpParameters; SctpState = sctpState; Channel = channel; PayloadChannel = payloadChannel; AppData = appData; GetRouterRtpCapabilities = getRouterRtpCapabilities; GetProducerById = getProducerById; GetDataProducerById = getDataProducerById; ProducersLock.Set(); ConsumersLock.Set(); DataProducersLock.Set(); DataConsumersLock.Set(); CloseLock.Set(); }
/// <summary> /// <para>Events:</para> /// <para>@emits rtcp - (packet: Buffer)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// <para>Observer events:</para> /// <para>@emits close</para> /// <para>@emits newdataproducer - (dataProducer: DataProducer)</para> /// <para>@emits newdataconsumer - (dataProducer: DataProducer)</para> /// <para>@emits trace - (trace: TransportTraceEventData)</para> /// </summary> /// <param name="loggerFactory"></param> /// <param name="transportInternalData"></param> /// <param name="sctpParameters"></param> /// <param name="sctpState"></param> /// <param name="channel"></param> /// <param name="appData"></param> /// <param name="getRouterRtpCapabilities"></param> /// <param name="getProducerById"></param> /// <param name="getDataProducerById"></param> public DirectTransport(ILoggerFactory loggerFactory, TransportInternalData transportInternalData, SctpParameters?sctpParameters, SctpState?sctpState, Channel channel, PayloadChannel payloadChannel, Dictionary <string, object>?appData, Func <RtpCapabilities> getRouterRtpCapabilities, Func <string, Producer?> getProducerById, Func <string, DataProducer?> getDataProducerById ) : base(loggerFactory, transportInternalData, sctpParameters, sctpState, channel, payloadChannel, appData, getRouterRtpCapabilities, getProducerById, getDataProducerById) { _logger = loggerFactory.CreateLogger <DirectTransport>(); // Data HandleWorkerNotifications(); }