Intercambio de Referencias CORBA
En los peque?os detalles siempre esta lo mejor. Estaba Miguel con un pete. Se le estaba cayendo un servidor CORBA y me consulto que podr?a estar pasando.
As? a bote pronto, y con la memoria tan prodigiosa que tengo, no pude ayudarle, ya que yo también lo dudaba. En mi opini?n lo que deber?a hacer era hacer un _duplicate en el servidor. Y como posteriormente pude comprobar en este articulo, tenia raz?n.
El motivo es que si en el servidor estas almacenando la referencia (en un _var) para evitar que el ORB te libere dicha referencia tienes que hacer el _duplicate. Esto pasa tanto para referencias que se devuelven como retorno, como para las que se devuelven como argumentos out o inout. En el caso de inout, si la referencia pasada no es nula, hay que liberarla antes de asignarle el nuevo valor.
En el cliente al recibir el ptr, habr? que liberar la referencia cuando se deje de usar.
En un metodo que recibe un ptr como argumento no hay que hacer nada, a no ser que nos queramos quedar con ella. Entonces si habr? que hacer un _duplicate.
Bueno, con esto creo que se cubren todos los casos. Si se me ha pasado alguno ah? est? el link.
Cambiando de tema. Hoy en Barrapunto ha salido una noticia de un chaval de 14 a?os que ha publicado una guia sobre el kernel de Linux.
Ahi esta su reciente blog.
La verdad es que como empiecen a pulular por ah? cerebritos como este, a los que estamos viviendo todavia de este sector no nos quedan ni dos telediarios.
Ya para acabar...
El anterior articulo del intercambio de referencias, es de OCI. He visto que ahora dan soporte a un ORB Java.
Sin conocerlo un punto a su favor es al darle OCI soporte al igual que TAO, por lo que me imagino que la interoperabilidad entre ambos ORBs será buena.
El ORB se puede conseguir aqui.
No hay comentarios:
Publicar un comentario