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);
>                }
>
>            }});
>

Reply via email to