Discussion Forums

Re: Do we need to clear [reset] the dictionary?
David Rosenborg / Pantor Engineering AB
13 Dec 2011 5:08AM ET

Hi,

The simplest way is to put two bytes on the wire: 0xC0 0xF8, and you must also remember to clear any encoder dictionary state.

If you are using a FAST library you'll have to check with the corresponding documentation how to achieve this.

/David

> Hi Rolf,
>
> Thanks for the explanation.
> I now have a clear idea on this.
>
> Any way can any of you please explain how to send reset messages.
>
> thanks.
>
> > Hi Thilina,
> >
> > that would be correct, although a sender of a FAST stream over TCP may want to send reset messages at points in the stream to synchronize between multiple TCP streams carrying the same FAST-encoded data. In this case the receiver must be prepared to receive reset messages in the stream.
> >
> > An example when this scenario would be relevant is when a venue sends the same market data to multiple clients over TCP and wants to support late joiners.
> >
> > Best,
> > Rolf
> >
> >
> > > Hi Guyz,
> > >
> > > Really thanks for your quick response.
> > >
> > > So can I have the following conclusion.
> > >
> > > For multicast you need to reset the dictionary for each packet. otherwise if sequence get mess up decoder will not be able to decode properly.
> > >
> > > But in TCP reliable transmission transfer encoding will be effected across packets. So as sequence is not getting mess up you should not rest the cache.
> > >
> > >
> > > > > According to my knowledge FAST operators are applied only for a packet. So transfer encoding will not happen across packets. Please correct me if I'm wrong.
> > > >
> > > > It depends on what transport protocol is being used. For Multicast, the protocol most commonly used with FAST, you statement is correct, but if FAST is used with a reliable protocol like TCP/IP it may never be necessary to reset the dictionaries.
> > > >
> > > > >
> > > > > So if it is the case do we need to clear [reset] the cache for each packet. Is there any impact not doing so?
> > > >
> > > > The impact is the decoded data is incorrect, or occasionally the decoding process fails. Having the Encoder & Decoder agree on when to reset the dictionaries is essential.
> > > >
> > > > In FAST 1.1 this is done as part of the Rules of Engagement between counterparties. SCP adds the ability for the encoder to indicate explicitly when a reset should occur by using a template with the reset attribute.
> > >
> > > >>> Can I have a simple example or explanation how to do this?
> > >
> > > Thanks again.
> > > >
> > > > HTH,
> > > >
> > > > Dale
> > > > --
> > > > Principal Software Developer, Object Computing, Inc.
> > > > Lead Developer of QuickFAST


Do we need to clear [reset] the dictionary?
Thilina Sampath / MillenniumIT / MIT   12 Dec 2011 8:47AM ET
Re: Do we need to clear [reset] the dictionary?
Hanno Klein / Deutsche Börse   12 Dec 2011 9:28AM ET
Re: Do we need to clear [reset] the dictionary?
Dale Wilson / Object Computing, Inc   12 Dec 2011 9:35AM ET
Re: Do we need to clear [reset] the dictionary?
Thilina Sampath / MillenniumIT / MIT   12 Dec 2011 11:11PM ET
Re: Do we need to clear [reset] the dictionary?
Rolf Andersson / Pantor Engineering   13 Dec 2011 4:01AM ET
Re: Do we need to clear [reset] the dictionary?
Thilina Sampath / MillenniumIT / MIT   13 Dec 2011 4:38AM ET
Re: Do we need to clear [reset] the dictionary?
David Rosenborg / Pantor Engineering AB   13 Dec 2011 5:08AM ET
Re: Do we need to clear [reset] the dictionary?
Thilina Sampath / MillenniumIT / MIT   13 Dec 2011 5:49AM ET
Re: Do we need to clear [reset] the dictionary?
Dale Wilson / Object Computing, Inc   13 Dec 2011 9:39AM ET