Thanks Mariano,

That's pretty much what I want, but... why to expose the visitor interface? ;)
Just to give a little feedback of what I have in my mind:

mySerializer setEngine: ExternalCompressor for: ( MyClass -> #myStringIVar )

or

mySerializer setEngine: ExternalCompressor for: incomingStream

Now with machines generating daily 6 TBytes of raw data, one of the
keys will be data compression.

2011/10/10 Mariano Martinez Peck <marianop...@gmail.com>:
>
>
> On Mon, Oct 10, 2011 at 9:35 PM, Hernán Morales Durand
> <hernan.mora...@gmail.com> wrote:
>>
>> Is there any serializer (Fuel/StOMP/Ma object
>> serialization/BOSS/SRP/SIXX??) which let me attach an external
>> compressor/decompressor for specific Strings to the
>> serialization/deserialization process?
>
> In Fuel you can do:
>
> String >> fuelSubstitution
>       ^ ExternalCompressor compress: self     
>
> String >> fuelAccept: aVisitor
>    ^ (ExternalCompressor shouldCompressString: self)
>    ifTrue: [aVisitor visitSubstitution: self]
>    ifFalse: [super fuelAccept: aVisitor]
>
> But the problem is that if #compress: answers an instance of String, you
> should be careful that if #shouldCompressString:  asnwers true to the
> compressed string, then you will end up in an infinitive loop.
>
> See: http://rmod.lille.inria.fr/web/pier/software/Fuel/Hooks and
> FLHookedSubstitutionTest
>
> I think StOMP should support this as well:
> http://stomp.smalltalk-users.jp/home/how-to-use-stomp/hook-methods
>
> The previous hook you let you replace the original String with its
> compression during serialization. Which make sense because if you are going
> to compress it is better to do it during serialization.
>
>> With external I mean it could
>> be in a separate binary (I could arrange the binding though).
>
> I am not sure if I understood.
>
>
>
>>
>> Thanks
>>
>> Hernán
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>

Reply via email to