Opened a PR for this issue:
https://github.com/apache/flink/pull/2766

To explain, the PR refactors the NettyClient/NettyServer to be reusable for the 
ever-growing set of endpoints within Flink. 

The procedure for defining an endpoint would now be:

1. Create a configuration subclass of `NettyConfig`.  e.g. 
`PartitionRequestNettyConfig`.
2. Define a protocol subclass of `NettyProtocol` to encapsulate the channel 
pipeline.
3. Add the `SSLProtocolHandler` to your pipeline as needed.
4. Instantiate `NettyServer` with an instance of your protocol.
5. Instantiate `NettyClient`.  Supply an instance of your client pipeline 
initializer via the protocol or via the `connect` method.  The latter makes it 
easy to correlate responses with higher-level client flow.  e.g. fulfilling a 
response promise in a channel handler.
6. Create unit tests employing the `EmbeddedChannel` class to test your 
pipeline.

Eron


> On Oct 24, 2016, at 4:16 PM, Eron Wright (JIRA) <j...@apache.org> wrote:
> 
> Eron Wright  created FLINK-4898:
> -----------------------------------
> 
>             Summary: Refactor HTTP handlers and Netty server/client
>                 Key: FLINK-4898
>                 URL: https://issues.apache.org/jira/browse/FLINK-4898
>             Project: Flink
>          Issue Type: Sub-task
>            Reporter: Eron Wright 
>            Assignee: Eron Wright 
>            Priority: Minor
> 
> 
> The dispatcher requires an HTTP stack, ideally with a minimum of dependencies 
> and able to interoperate with Netty 4.0.28 (on which Flink currently 
> depends).  The `runtime-web` module has some home-grown HTTP handlers 
> already, and the `runtime` module has some low-level Netty code worth reusing.
> 
> 
> 
> 
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)

Reply via email to