fastapi-1.0 question

Imported from previous forum

Hello,
I am new to using FAST, and I have been looking at the FAST API distribution (fastapi-1.0.zip) as a starting point. I have gleamed most of the important issues, but I think I am confused on some issues specific with the fastapi-1.0 implementation.

Specifically, how FAST tags are used within the API, where the MAKE_TAG macro receives a “slot” value. Is this value the bit position in the PMAP? If so, does the API implementation assume there is a presence bit for ALL fields in a template? Or is the slot an position within the template itself?

I get even more confused as how it deals with fields that have no presence bit (if it indeed must be encoded via the slot value in MAKE_TAG). The parsing routines seem to assume a field always has a presence bit (please correct me if I’m wrong) and the slot is used to reference this, and then there is looking up “current values” when dealing with FAST operators, where the “slot” is retrieved again to reference a “current value” for the template, where slot seems to indicate position in the template.

I understand fastapi-1.0 is an early implementation (as I saw no handling of CONSTANT, DEFAULT, or TAIL operators), but I am trying to determine if the implementation is making assumptions or it’s my misunderstanding.

Regards,
David

Hi David,

fastapi-1.0 is an early, incomplete (from a 1.1 or 1.2 perspective) implementation that makes certain assumptions about how FAST is used. Those assumptions are in part wrong and do not reflect how FAST is used today. I think some people have had help by getting ideas of how to implement low level concepts but that is pretty much what you can expect to get out of the code as is.

Please beware that you would need to make a lot of changes and additions in order to support the most of the current feeds out there.

I wouldn’t recommend to use the code in a production setting even if you work around the quirks present in the code. Depending on your development environment and your performance requirements, I would suggest that you either look at one of the more modern open source alternatives or check with the firms that provide a commercial product.

HTH,
Rolf

Hello, I am new to using FAST, and I have been looking at the FAST
API distribution (fastapi-1.0.zip) as a starting point. I have
gleamed most of the important issues, but I think I am confused on
some issues specific with the fastapi-1.0 implementation.

Specifically, how FAST tags are used within the API, where the
MAKE_TAG macro receives a “slot” value.
Is this value the bit position in the PMAP?

If so, does the API implementation assume there is a presence bit
for ALL fields in a template?

Or is the slot an position within the template itself?

I get even more confused as how it deals with fields that have no
presence bit (if it indeed must be encoded via the slot value in
MAKE_TAG). The parsing routines seem to assume a field always has
a presence bit (please correct me if I’m wrong) and the slot is
used to reference this, and then there is looking up “current
values” when dealing with FAST operators, where the “slot” is
retrieved again to reference a “current value” for the template,
where slot seems to indicate position in the template.

I understand fastapi-1.0 is an early implementation (as I saw no
handling of CONSTANT, DEFAULT, or TAIL operators), but I am trying
to determine if the implementation is making assumptions or it’s
my misunderstanding.

Regards, David

Hi David,
Rolf said:

I wouldn’t recommend to use the code in a production setting even if you
work around the quirks present in the code. Depending on your
development environment and your performance requirements, I would
suggest that you either look at one of the more modern open source
alternatives or check with the firms that provide a commercial product.

For Java: www.openfast.org
For C++: www.quickfast.org

Dale

Dale Wilson
Principal Software Engineer
Object Computing, Inc. (www.ociweb.com)
Lead developer for QuickFAST (http:www.quickfast.org)

Thanks guys,
I will look into other alternatives.

Regards,
David

Hi David, Rolf said:

I wouldn’t recommend to use the code in a production setting even if
you work around the quirks present in the code. Depending on your
development environment and your performance requirements, I would
suggest that you either look at one of the more modern open source
alternatives or check with the firms that provide a commercial
product.

For Java: www.openfast.org For C++: www.quickfast.org

Dale

Dale Wilson Principal Software Engineer Object Computing, Inc.
(www.ociweb.com) Lead developer for QuickFAST (http:www.quickfast.org)