The line:
WriteFuture newFuture = (WriteFuture)ioFuture.await();
is not necessary in the operationComplete method. When the
operationComplete method is called, it means that the write has completed.
Check the javadocs...
On Sat, Jul 26, 2008 at 8:36 AM, Zlatko Josic <[EMAIL PROTECTED]>
wrote:
> Hi,
>
> how find out is message sent to client. Server has to know is message
> delivered to client.
> I try something like this but it does'nt work :
>
> IoSession session = (IoSession)context.getParameter("ioSession");
> //pisanje podatka u sesiju.
> WriteFuture future =
>
> session.write(transformator.transform(context.getResponse().getParameters()));
>
> future.addListener(new IoFutureListener<IoFuture>(){
>
> @Override
> public void operationComplete(IoFuture ioFuture) {
> try{
> WriteFuture newFuture = (WriteFuture)ioFuture.await();
>
> if (newFuture.isWritten()){
> //podatak je poslat terminalu.
> log.info("podaci su poslati terminalu
> "+terminal.getId());
> }else{
> log.info("podaci nisu poslati terminalu
> "+terminal.getId());
> //provera da li je doslo do greske pri slanju
> odgovora.
> Throwable t = newFuture.getException();
> if (t != null){
> log.error("Greska u slanju odgovora
> terminalu",t);
> }
> }
> }catch(Throwable t){
> log.error("Greska ", t);
> }
>
> }});
>