> On 14 Oct 2015, at 04:39, Robert Withers <robert.w.with...@gmail.com> wrote:
> 
> 
> On 10/13/2015 09:43 PM, Mariano Martinez Peck wrote:
>> 
>> 
>> On Tue, Oct 13, 2015 at 10:33 PM, Robert Withers
>> <robert.w.with...@gmail.com <mailto:robert.w.with...@gmail.com>> wrote:
>> 
>>    Hi Mariano,
>> 
>>    This presents me with a big challenge, then. I read the docs and
>>    explored the code and the only other aspect not mentioned, beyond
>>    instance creation (#fuelNew #fuelNew:) and postMaterialization
>>    (#fuelAfterMaterialization), is migrations. However, migration only
>>    allows for instanceVar mappings, no code blocks.
>> 
>> 
>> What do you mean that migrations only allows instVar mappings , and no
>> code blocks? I mean, what do you mean by code blocks?

Sounds to me like this (see FuelOutStackDebuAction):

serializeTestFailureContext: aContext toFileNamed: aFilename
        | serializer |
        
        serializer := FLSerializer newDefault.
        self encodeDebugInformationOn: serializer. 
        serializer addPostMaterializationAction: [ :materialization | 
                Smalltalk tools debugger
                        openOn: Processor activeProcess 
                        context: materialization root 
                        label: 'External stack' 
                        contents: nil 
                        fullView: false ].
                
        serializer
                " use the sender context, generally the current context is not 
interesting"
                serialize: aContext
                toFileNamed: aFilename

This stores a block in the serialization which is evaluated after 
materialization. The only requirement is that it’s a clean block (no closure!).

>> We also support class renames. This is here:
>> http://rmod.inria.fr/web/software/Fuel/Version1.9/Documentation/Migration?_s=Pvs4DYqPRjfEy8sg&_k=X6ltJu7FDSxumm4X&_n&22
> >
> > Which kind of migration example you have in mind that would not be
> > supported? An example would help.
> 
> Well, my pics will demonstrate. I am interested in doing more than mappping 
> ivars or a class rename. I want to do a total substitution, then a further 
> substitution on the receiving, import side:
> 
> Vat1: anObject (Class A) ---> On wire: desc (Descriptor) ---> Vat2: aProxy 
> (Class FarERef)
> 
> A desc is substituted for a PassByProxy object, then a FarERef is substituted 
> for the desc.
> 
>> 
>>    #fuelAccept: is a serialization side method.
>> 
>>    If Fuel supports substitution on serialization, I don't understand
>>    why no substitution support on materialization.
>> 
>> 
>> There was a reason, which I cannot remember completely. Maybe Martin or
>> Max can remember.
> 
> It seems your focus was pickling to disk then back. My focus is distributed 
> proxy graphs, which has different use cases.
> 
>> 
>> 
>>    I am definitely going to use the world-class Fuel binary
>>    serialization system. However, I find myself needing to extend Fuel
>>    to support substitution on materialization. Perhaps the solution is
>>    a custom decoder.
>> 
>> 
>> I have made custom clusters for example for my Ghost proxies of Marea
>> system. It was a perfect example of how I could extent Fuel besides the
>> common hooks. Fuel provides many places for extending , like clusters,
>> analyzer,  etc
> 
> Right on, exactly! Could you tell me more about your Ghost proxies and Marea, 
> please? As well, could you mention how you select a custom cluster on the 
> serialization side?
> 
> 
> thanks so much ^^
> Robert
> 
> 
>> 
>>    No, a bit more. It looks like I need a new
>>    FLSubstitutePointerObjectCluster, write them on serialization with
>>    the substitute, then do unsubstitution on materialization, since the
>>    cluster controls materialization and not the decoder.
>> 
>>    Does this approach seem sound to you, from a you know architecture
>>    and design approach?
>> 
>> 
>> There was an issue. Hope other can remember. If not, I will try to
>> explan what I remember tomorrow.
>> 
>> 
>>    thanks so much ^^
>>    Robert
>> 
>>    On 10/13/2015 04:49 PM, Mariano Martinez Peck wrote:
>> 
>>        No, unfortunately, as far as I can remember, we do not have
>>        that. There
>>        are another hooks you may use but only in certain scenarios
>>        (#fuelNew,
>>        #fuelAfterMaterialization, global sends, etc). But everything is
>>        listed
>>        in
>>        
>> http://rmod.inria.fr/web/software/Fuel/Version1.9/Documentation/CustomizingGraph
>>           so if you didn't find anything of help in there there are chances
>>        there isn't anything.
>> 
>>        Cheers,
>> 
>>        On Tue, Oct 13, 2015 at 5:30 PM, Robert Withers
>>        <robert.w.with...@gmail.com <mailto:robert.w.with...@gmail.com>
>>        <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>> wrote:
>> 
>>             Yes, I meant dynamic substitution on materialization, to
>>        use the
>>             correct terminology.
>> 
>>             thanks,
>>             Robert
>> 
>> 
>>             On 10/13/2015 11:40 AM, Max Leske wrote:
>> 
>> 
>>                     On 13 Oct 2015, at 17:16, Robert Withers
>>                     <robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                     <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>> wrote:
>> 
>>                     Every extra source helps, thank you. I see how to do
>>                     non-stream substitutions on materializations, but the
>>                     documentation did not indicate a way to do non-stream
>>                     substitutions on serialization. Is it possible?
>> 
>> 
>>                 I don’t understand what you mean by “non-stream”. Could
>>        you give
>>                 an example?
>> 
>> 
>>                     thanks,
>>                     Robert
>> 
>>                     On 10/13/2015 09:00 AM, Mariano Martinez Peck wrote:
>> 
>>                         Hi Robert,
>> 
>>                         As for the documentation, you have LOTS of
>>        tests, you
>>                         have the chapter
>>                         Torsten pasted, you have this documentation:
>>        http://rmod.inria.fr/web/software/Fuel
>> 
>>                         But also, as for internals, there is a journal
>>        paper we
>>                         wrote:
>>        http://rmod.lille.inria.fr/archives/papers/Dias12a-SPE-Fuel.pdf
>> 
>>                         Let us know how it goes,
>> 
>> 
>>                         On Tue, Oct 13, 2015 at 6:00 AM, Torsten Bergmann
>>                         <asta...@gmx.de <mailto:asta...@gmx.de>
>>        <mailto:asta...@gmx.de <mailto:asta...@gmx.de>>
>>                         <mailto:asta...@gmx.de <mailto:asta...@gmx.de>
>>        <mailto:asta...@gmx.de <mailto:asta...@gmx.de>>>> wrote:
>> 
>>                              Hi Robert,
>> 
>>                              Also checkout the chapter on Fuel in Pharo
>>                         Enterprise book:
>> 
>>        
>> https://ci.inria.fr/pharo-contribution/view/Books/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/EnterprisePharo-A4.pdf
>> 
>>                              Bye
>>                              Torsten
>> 
>>                               > Gesendet: Dienstag, 13. Oktober 2015 um
>>        09:44 Uhr
>>                               > Von: "Robert Withers"
>>                         <robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>
>>                              <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>>>
>>                               > An: pharo-dev@lists.pharo.org
>>        <mailto:pharo-dev@lists.pharo.org>
>>                         <mailto:pharo-dev@lists.pharo.org
>>        <mailto:pharo-dev@lists.pharo.org>>
>>                         <mailto:pharo-dev@lists.pharo.org
>>        <mailto:pharo-dev@lists.pharo.org>
>>                         <mailto:pharo-dev@lists.pharo.org
>>        <mailto:pharo-dev@lists.pharo.org>>>
>>                               > Betreff: Re: [Pharo-dev] binary
>>        serialization
>>                               >
>>                               > Yes, I have to do object substitutions.
>>        Thanks
>>                         for the link!
>>                               >
>>                               > thanks,
>>                               > Robert
>>                               >
>>                               > On 10/13/2015 03:43 AM, Max Leske wrote:
>>                               > >
>>                               > >> On 13 Oct 2015, at 09:40, Robert Withers
>>                              <robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>>> wrote:
>>                               > >>
>>                               > >> Sven and Torsten, that's a binary
>>                         serialization library! It
>>                              will take time to learn it and how to use
>>        mappers.
>>                               > >>
>>                               > >> What is the format; is it language
>>        neutral?
>>                               > >
>>                               > > For quick serialization you don’t
>>        need to do
>>                         anything. It works
>>                              for (almost) all objects. Only if you want to
>>                         exclude things or
>>                              treat some objects in a special way, you
>>        will need
>>                         to do some stuff.
>>                               > >
>>                               > > Documentation:
>>        http://rmod.inria.fr/web/software/Fuel.
>>                               > >
>>                               > >
>>                               > >>
>>                               > >> thanks,
>>                               > >> Robert
>>                               > >>
>>                               > >> On 10/13/2015 01:21 AM, Sven Van
>>        Caekenberghe
>>                         wrote:
>>                               > >>> Yes, it is called FUEL and it is a
>>        standard
>>                         part of the
>>                              image. See FLSerializer and FLMaterializer.
>>                               > >>>
>>                               > >>>> On 13 Oct 2015, at 06:59, Robert
>>        Withers
>>                              <robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>
>>                         <mailto:robert.w.with...@gmail.com
>>        <mailto:robert.w.with...@gmail.com>>>> wrote:
>>                               > >>>>
>>                               > >>>> Does Pharo have stream classes to
>>        binary
>>                         de/serialize an
>>                              object, such that the protocol accepts an
>>        object as
>>                         an argument and
>>                              converts it to a byteArray?
>>                               > >>>>
>>                               > >>>> --
>>                               > >>>> thanks,
>>                               > >>>> Robert
>>                               > >>>>
>>                               > >>>
>>                               > >>>
>>                               > >>
>>                               > >
>>                               > >
>>                               >
>>                               >
>> 
>> 
>> 
>> 
>>                         --
>>                         Mariano
>>        http://marianopeck.wordpress.com
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>        --
>>        Mariano
>>        http://marianopeck.wordpress.com
>> 
>> 
>> 
>> 
>> 
>> --
>> Mariano
>> http://marianopeck.wordpress.com
> <Exporting Vat.jpg><Importing Vat.jpg>


Reply via email to