You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Tunca Tunc (JIRA)" <ji...@apache.org> on 2016/03/03 10:38:18 UTC

[jira] [Updated] (DIRMINA-1033) Expose METADATA parameter for NioDatagramSession

     [ https://issues.apache.org/jira/browse/DIRMINA-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tunca Tunc updated DIRMINA-1033:
--------------------------------
    Description: 
The CumulativeProtocolHandler doesn't accumulate for UDP transport.
It's because METADATA for NioDatagramSession is created as

static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, false, InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);

Where 4th parameter is fragmentation parameter. Thus it thinks there are no fragmentation for UDP transport.

NioDatagramSession METADATA should be created as:
    static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, true,
            InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);

Where 4th parameter is true, marking fragmentation is true for UDP.

Or the METADATA parameter can be exposed to developer.

This is link to the mailing list discussion.
http://apache-mina.10907.n7.nabble.com/CumulativeProtocolDecoder-and-UDP-td18927.html

  was:
The CumulativeProtocolHandler doesn't accumulate for UDP transport.
It's because METADATA for NioDatagramSession is creates as

static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, false, InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);

Where 4th parameter is fragmentation parameter. Thus it thinks there are no fragmentation for UDP transport.

NioDatagramSession METADATA should be created as:
    static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, true,
            InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);

Where 4th parameter is true, marking fragmentation is true for UDP.

Or the METADATA parameter can be exposed to developer.

This is link to the mailing list discussion.
http://apache-mina.10907.n7.nabble.com/CumulativeProtocolDecoder-and-UDP-td18927.html


> Expose METADATA parameter for NioDatagramSession
> ------------------------------------------------
>
>                 Key: DIRMINA-1033
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1033
>             Project: MINA
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 2.0.13
>         Environment: Centos 7, Windows 7
>            Reporter: Tunca Tunc
>            Priority: Minor
>              Labels: easyfix
>             Fix For: 2.0.14
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> The CumulativeProtocolHandler doesn't accumulate for UDP transport.
> It's because METADATA for NioDatagramSession is created as
> static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, false, InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);
> Where 4th parameter is fragmentation parameter. Thus it thinks there are no fragmentation for UDP transport.
> NioDatagramSession METADATA should be created as:
>     static final TransportMetadata METADATA = new DefaultTransportMetadata("nio", "datagram", true, true,
>             InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);
> Where 4th parameter is true, marking fragmentation is true for UDP.
> Or the METADATA parameter can be exposed to developer.
> This is link to the mailing list discussion.
> http://apache-mina.10907.n7.nabble.com/CumulativeProtocolDecoder-and-UDP-td18927.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)