>> You should not have to deal with the delayed closing: MINA is already 
>> allowing
you to do that, if you call closeOnFlush() instead of
closeNow() -or close(), which maps to closeNow()-. It will then flushall
the pending messages before closing the session. No message written in the
session *after* you have called close(false) will be sent.

For all I know you may be right (I have not reviewed this option in depth)
- please note though that the SSHD code does not deal directly with MINA
but rather uses an *abstraction layer* that enables it to invoke various
different network transports - MINA being one of them (NIO2 and Netty being
others - and in the future... who knows). That being said, we try to keep
the transport implementation requirements rather simple so others may find
it easier to implement a new transport. Requiring a specialized feature
such as this one (or the other you mention) is likely to complicate future
implementations. Furthermore, even if we made such features optional (e.g.,
via *isFeatureXXXSupportedI) *both the SSHD code and the compatibility
matrix (which feature is required for which SSHD functionality) would make
it (IMO) complex (more than already is) and cumbersome to use (users would
have to be aware what are they *giving up* when switching transports.
E,g, what if users need 2 features - one of which is supported by one
transport but not the other and the other feature only by its counterpart.

>> I would suggest filling a JIRA ticket for this one, it requires some further
investigation, but I suspect it would ease your implementation A LOT

Again, you may be 100% right, but in view of the above I do not want to
request lots of work (perhaps complex) on what may prove to be a "niche"
piece of code especially tailored for SSHD. Furthermore, I am not sure this
is exactly what is needed in this case - and until I am reasonably sure I
can define the exact requirements I don't think it would be a good idea.

Thanks for the feedback,
Lyor

Reply via email to