Многоадресное соединение на Linux и IGMPv3

Вы можете объединить две наблюдаемые, используя оператор merge(). Вы можете преобразовать ошибку в onComplete(), используя onErrorResumeNext().

Completable.merge(
  observable1
    .doOnNext(this::onACompleted)
    .doOnError(this::onAFailed)
    .onErrorResumeNext( Completable.complete() )
    .toCompletable(),
  observable2
    .doOnNext(this::onBCompleted)
    .doOnError(this::onBFailed)
    .onErrorResumeNext( Completable.complete() ),
    .toCompletable() )
.subscribe( ignore -> {}, 
            error -> {},
            () -> { processCompletion(); } );
10
задан terson 22 October 2008 в 19:50
поделиться

1 ответ

Несколько вещей знать.

Прежде всего, (насколько я понимаю) установка /proc/sys/net/ipv4/conf/eth1.22/force_igmp_version к 0 не означает "использование v3", но на самом деле устанавливает его на "автоматический". Я полагаю, что можно установить его на 3 для принуждения его igmp v3 использования.

Однако другая вещь знать состоит в том, что поведение стопки igmp убеждено средой, что оказывается в. Если Ваше поле Linux получает запросы членства igmp v2 от восходящего потока igmp маршрутизатор, то я полагаю, что поведение Linux по умолчанию (как передано под мандат igmp v3 rfc) состоит в том, чтобы использовать только igmp v2 для отчетов.

Насколько я понимаю, когда Вы устанавливаете /proc/sys/net/ipv4/conf/eth1.22/force_igmp_version к 0 это использует это поведение.

15
ответ дан 3 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: