Hola te comento entre líneas, El jue., 5 de nov. de 2020 4:30 PM, Pablo Javier Mur <[email protected]> escribió:
> Muchas gracias por tu respuesta Carlos, voy a probar creando un > STBOutFiler y STBValidatingInFiler para cada envío y recepción de mensaje. > Hasta Luego > > El jueves, 5 de noviembre de 2020 a la(s) 09:16:56 UTC-3, Carlos Ferro > escribió: > >> ¿Por qué mantener vivas las mismas instancias de STBFiler todo el tiempo? >> Esos objetos no son costosos de crear, es más fácil crear uno para cada >> objeto transmitido. Cuando terminas de leer o escribir, ese filer muere y >> la siguiente vez, creas otro. >> >> Si no, lo que deberías hacer es "resetear" los maps cuando tengas un idle >> time (cuando no estés leyendo o escribiendo objetos). >> >> Sin mirar más el código, es lo que se me ocurre, a alto nivel. >> Suerte >> >> On 5/11/2020 00:19, Pablo Javier Mur wrote: >> >> Hola, >> >> tengo 2 aplicaciones escritas en Dolphin SmallTalk 7.1.14 que se >> comunican por socket. Para enviar datos utilizo el siguiente objeto: >> >> >> (STBOutFiler on: socket writeStream) que se mantiene vivo durante toda la >> comunicación. >> >> >> Para recibir datos utilizo el siguiente objeto: >> >> >> ((STBValidatingInFiler on: socket readStream) >> >> validationBlock: [:className | true]; >> >> No conozco exactamente tu app pero e; el Stbxxx se usa [ara serializar pero me parece que es más eficiente otros métodos, El validación es para saber si ;a clase existe en la imagen destino, una forma de hacer esto sería Smalltalk at: classname ifAbsent:[ self error: 'clase ',className no existe en esta imagen']. No tengo acá la imagen [ero estoy seguro que Dp7 tiene el framework ston u. Otros seríalizadores. Saludos Desde el CEL Juan Diaz Cortez > yourself) el cual también se mantiene vivo durante toda la conexión. >> >> >> El problema es que las aplicaciones pueden estar conectadas durante horas >> y se envían objetos todo el tiempo. Los objetos STBFiler tienen atributos >> writeMap y readMap respectivamente los cuales va registrando todos los >> objetos que se reciben o envían lo cual hace que acumulen miles de >> instancias que no se usan pero no se eliminan porque están referenciadas >> por esos atributos. Eventualmente, en algún momento las aplicaciones caen. >> ¿Estoy haciendo algo mal? Les agradecería si pueden decirme si debo cambiar >> algo para no acumular objetos que deberían ser eliminados. >> >> Saludos y muchas gracias. >> >> -- >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> >> http://www.clubSmalltalk.org >> --- >> Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" >> de Grupos de Google. >> Para cancelar la suscripción a este grupo y dejar de recibir sus >> mensajes, envía un correo electrónico a [email protected]. >> Para ver esta conversación en el sitio web, visita >> https://groups.google.com/d/msgid/clubsmalltalk/7b016f99-8e31-4456-8dd9-f4efb74c16f2n%40googlegroups.com >> <https://groups.google.com/d/msgid/clubsmalltalk/7b016f99-8e31-4456-8dd9-f4efb74c16f2n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- >> >> * carlos e. ferro *| senior developer | *caesar systems * >> >> [email protected] >> > -- > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org > --- > Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" > de Grupos de Google. > Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, > envía un correo electrónico a [email protected]. > Para ver esta conversación en el sitio web, visita > https://groups.google.com/d/msgid/clubsmalltalk/1c832fc7-c31d-451e-b069-ff9eaac6b414n%40googlegroups.com > <https://groups.google.com/d/msgid/clubsmalltalk/1c832fc7-c31d-451e-b069-ff9eaac6b414n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org --- Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google. Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [email protected]. Para ver este debate en la Web, visita https://groups.google.com/d/msgid/clubsmalltalk/CAKizN9x07a2vny5bkehu%3D6%2B1niKerNWapoA9s3S2FfRqOHnW%3DA%40mail.gmail.com.
