/* * Copyright 2015 Netflix, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package io.reactivex.netty.channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandler; /** * An event to indicate to {@link AbstractConnectionToChannelBridge} that the channel is ready to emit a new * {@link io.reactivex.netty.channel.Connection} to the subscriber as published by {@link ChannelSubscriberEvent} * * <h2>Why do we need this?</h2> * * Since, emitting a connection can include a handshake for protocols such as TLS/SSL, it is not so that a new * {@link io.reactivex.netty.channel.Connection} should be emitted as soon as the channel is active (i.e. inside * {@link ChannelInboundHandler#channelActive(ChannelHandlerContext)}). * For this reason, this event leaves it to the pipeline or any other entity outside to decide, when is the rite time to * emit a connection. */ public final class EmitConnectionEvent { public static final EmitConnectionEvent INSTANCE = new EmitConnectionEvent(); private EmitConnectionEvent() { } }