You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Adrian Sandor (JIRA)" <ji...@apache.org> on 2007/10/22 05:47:51 UTC

[jira] Commented: (DIRMINA-428) Message priorities

    [ https://issues.apache.org/jira/browse/DIRMINA-428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536563 ] 

Adrian Sandor commented on DIRMINA-428:
---------------------------------------

Thanks for your comment. Obviously you have a very different opinion about how to implement this, and I'm not sure I really understand. For example, I didn't plan for any filter originally, but you say "it will be effective only when the filter is inserted".
Could you please elaborate on:
- where and how the priority will be attached to a message
- where the messages will be sorted by priority
- how the default priority will be handled
- at what point the Comparator/Comparable interface will be used (I think anything before the writeRequestQueue will be useless)

Thanks

> Message priorities
> ------------------
>
>                 Key: DIRMINA-428
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-428
>             Project: MINA
>          Issue Type: New Feature
>            Reporter: Adrian Sandor
>
> I would like MINA to support sending messages with different priorities, so that higher-priority messages will get sent out first (in the order that they were added to the queue, if they have the same priority)
> Here's how I think this could be implemented:
> - define different priorities; I suggest using numeric constants, such as LOWEST=0, LOW=25, NORMAL=50, HIGH=75, HIGHEST=100, allowing any custom values from 0 to 100
> - add a priority field to WriteRequest, and implement Comparable using it
> - add a write(Object message, int priority) method to IoSession
> - make write(message) call write(message, NORMAL)
> - make the writeRequestQueue in the session implementations a priority queue, but one that preserves the original order of "equal" elements
> - ensure that a higher priority message won't interrupt sending out another message (if pending)
> - if desired, write an IoFilter that can manipulate the priority

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.