2013-03-19 20 views
6

Sono abbastanza nuovo a Netty, ma come si implementa un caso in Netty 4.x quando diversi protocolli (ad esempio P1 e P2) sono incapsulati in un altro protocollo?Narrow nested pipeline/multiplexing

   +-------------+ 
       | decoder | 
       +-------------+ 
       | encoder | 
       +-------------+ 
       | muxer | 
       +-------------+ 
       | demuxer | 
       +---+------+--+ 
        |  | 
        |  | 
      +------+  +------+ 
      |     | 
      |     | 
      v     v 
    +-------------+  +-------------+ 
    | P1 decoder |  | P2 decoder | 
    +-------------+  +-------------+ 
    | P1 encoder |  | P2 encoder | 
    +-------------+  +-------------+ 
    | P1 handler |  | P2 handler | 
    +-------------+  +-------------+ 

Esiste un modo per creare oleodotti annidati, in modo che decoder<->encoder<->muxer<->demuxer essendo gasdotto principale avrebbe inviato i dati lungo P1 o P2 condotta in base alla decisione del demuxer?

O forse c'è un modo per creare in qualche modo (per motivi di chiarezza) "sottocanali" con le proprie condotte?

risposta

2

Non esiste ancora alcun supporto per "Pipeline nidificate". Potrebbe essere parte di 4.1.0. Per ora è necessario rimuovere/aggiungere gestori al volo.

Vedere [1] per un esempio.

[1] https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/portunification/PortUnificationServerHandler.java

+0

E ora? Ancora non supportato? –

+0

no ... non c'è ancora supporto. –

+0

Quindi per implementare una sorta di multiplexing ho bisogno di aggiungere/rimuovere i gestori al volo? Sembra introdurre qualche latenza ... Forse c'è un modo migliore? –