On a side note, this is the developers mailing list. We're filling the inboxes of other developers that probably don't want to be a part of this conversation. We should move it to the us...@mina.apache.org mailing list.
On Thu, Feb 14, 2019 at 11:36 AM Jonathan Valliere <john...@apache.org> wrote: > so I cannot ensure a message is being received/sent and look at some queue >> for this. > > > Why do you need to ensure the message is sent? Once you call write(), it > will be sent eventually. The only guarantee that it was actually sent and > received would to require the Client to reply to the message. This could > be done by using some kind of Queue attached to the IoSession which > contains pending sent requests. > > *Note: messageSent* just means it was written to the OS socket, no > guarantee that it made it anywhere. > > On Thu, Feb 14, 2019 at 11:22 AM Emmanuel Lécharny <elecha...@gmail.com> > wrote: > >> Let's be clear: >> >> - reads will result in a messageReceived event and you will be able to >> process it and do whatever you want to do in your IoHandler, as soon as >> the message is complete (ie, if the message is read in chunks, you will >> only receive a messageReceived event once the message is complete) >> >> - writes is a bit different: you do write, and you either decide to do >> something *after* the write has been executed, but without any guarantee >> that the message has been fully sent to the remote host, *or* you >> execute your action when you receive the messageSent event - which means >> you have written a message, *and* it has been fully sent to the remote >> peer. >> >> In any case, you are still in the IoProcessor thread, so you can do >> whatever you want (except that if you decide to do what you want to do >> when receiving the messageSent, it will be executed later on, only if >> the message has been fully sent. >> >> >> On 14/02/2019 16:56, kevintjuh93 wrote: >> > It's for a game server where actions need to be synchronized with >> read/write >> > in order to make sure everything is done in order. Not everything is >> > executed from read/write methods, so I cannot ensure a message is being >> > received/sent and look at some queue for this. >> > >> > That's why I want to execute something on the same thread a read/write >> event >> > is done for a specific session. >> > >> > >> > Jonathan Valliere-3 wrote >> >> I just read the last email Kevin wrote. >> >> >> >> Kevin, if you could execute something on the IO processor thread; you >> >> understand that It would be a deferred action that could only happen >> after >> >> the IO processor is done? Maybe you could explain the reason why you >> want >> >> to do this? >> >> >> >> On Thu, Feb 14, 2019 at 10:40 AM Emmanuel Lécharny < >> >> elecharny@ >> >> > >> >> wrote: >> >> >> >>> I still don't get it. >> >>> >> >>> Your IoHandler will be called everytime an event occurs (message >> >>> received, message written, session created/closed/idling, exception). >> >>> You have the opportunity to execute some action at this moment. >> >>> >> >>> >> >>> Beside that, I don't see a use case. I'm probably missing something... >> >>> Unless what you want to do is to have another session to be called >> while >> >>> processing an event, using the thread you are in ? >> >>> >> >>> >> >>> On 14/02/2019 16:21, Jonathan Valliere wrote: >> >>>> There are some examples in the unit tests which accomplish this by >> >>> creating >> >>>> a Client and Server connection. I don't believe there is a true >> >>> loopback >> >>>> implementation in Mina without going through the OS networking. >> >>>> >> >>>> On Thu, Feb 14, 2019 at 10:16 AM kevintjuh93 < >> >> kevin_kal@ >> >> > >> >>> wrote: >> >>>>> Hi guys, >> >>>>> >> >>>>> What I mean is that I want a way to execute something for an >> IoSession >> >>> in >> >>>>> the same thread the I/O events run. I figured a good way would be to >> >>> 'fake' >> >>>>> an incoming message, called a loopback packet. Like write a message >> to >> >>>>> 'yourself'. >> >>>>> >> >>>>> I rather like to avoid using an ExecutorFilter or a lock. >> >>>>> >> >>>>> >> >>>>> >> >>>>> -- >> >>>>> Sent from: >> >>>>> >> >>> >> http://apache-mina.10907.n7.nabble.com/Apache-MINA-Developer-Forum-f6809.html >> > >> > >> > >> > >> > -- >> > Sent from: >> http://apache-mina.10907.n7.nabble.com/Apache-MINA-Developer-Forum-f6809.html >> >