API Support Forum
OEC API > Market Data > Hello Handshake fields
Author Topic: Hello Handshake fields
(9 messages, Page 1 of 1)
Moderators: VPfau
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Jan 30, 2020 @ 05:22 PM             Msg. 1 of 9
https://gainfutures.com/GFAPI/ GAIN Futures -> Fast FAST Session Control Protocol 1.1 Session should be started with HELLO handshake...

There is no template for this Hello MSG in template file. So, connection should be done "by hand". What are the fields I should pass to GAIN FAST server with Hello handshake?

Thank you in advance for any useful help! Pointing to SCP1.1 specification is not in any use.
Arturs
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Jan 30, 2020 @ 06:15 PM             Msg. 2 of 9
Vitaliy, I can understand that this Hello question for you makes headaches because you are not understanding what I need. The thing is that I can’t use OpenFAST which has support for SCP out of the box. For FAST encoding I am using goFAST and this library doesn’t have support for SCP. Also I am not very good at C# or C family at all. So, to read and understand your sample file for me is real pain. Can you please send to me directly, through Christopher or just paste here the data stream what cums out from your API in moment of connection to FAST server? Just working byte stream! I will decode it and understand what fields are present and needed for my login by myself. In places of Username and Password you can just cut it out and leave first and last byte or live them as they are because it is dummy server anyway. As bargain at the end of my project you will get API capable to run on Linux and full understanding of this HELLO MSG.
Thanks!
Arturs
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Jan 30, 2020 @ 06:34 PM             Msg. 3 of 9
P.S.
Don’t bother yourself about data format it can be what ever: binary, hex, decimal array (vector in C). Just hello and template 63 which was able at that moment to login into FAST data server and get response with template 60.
Arturs
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Jan 31, 2020 @ 01:45 PM             Msg. 4 of 9
https://www.youtube.com/watch?v=hHiKGyaiz40
VPfau
Moderator
Posts: 154
Joined:


Posted: Jan 31, 2020 @ 01:51 PM             Msg. 5 of 9
https://sourceforge.net/p/openfast/code/HEAD/tree/trunk/src/main/java/org/openfast/session/SessionControlProtocol_1_1.java

Arturs, you can find HelloTemplate in FAST implementation here, for example:
public final static MessageTemplate FAST_HELLO_TEMPLATE = new MessageTemplate("Hello", new Field[] {
new Scalar("SenderName", Type.ASCII, Operator.NONE, ScalarValue.UNDEFINED, false),
new Scalar("VendorId", Type.ASCII, Operator.NONE, ScalarValue.UNDEFINED, true) });


Once again, we do not implement libraries for FAST protocol.
Vitaliy Pfau
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Jan 31, 2020 @ 02:55 PM             Msg. 6 of 9
Vitaliy, mill thanks for braking grave silence!
Please try to understand what help I need! Our conversation goes in some loops and your answers so far were useless.

1. for FAST implementation there are 6 opencode possible libraries under the Sun:
https://en.wikipedia.org/wiki/FAST_protocol
GAIN samples uses OpenFAST. Good, use it! I am going to use goFAST and build my API in GO. There is four reasons for doing so:
1) OpenFAST runs only on Windows machines;
2) I am not really comfortable with C/Java coding;
3) For me it is very easy to build my API in GO. Because I did lot of Go coding recently.
4) GO has all needed libraries for FIX and FAST.
The only problem is that goFAST do not automatically implement SCP1.1 So, these 3-5 bytes for Handshake I have to write by hand. My basic question is what GAIN FAST server expects in this Hello Handshake fields? What are these 3-5 bytes I have to pass to it? It is it. No more information I need to process with my GO project.

2. Based on SCP1.1 specification, your example and even OpenFAST source code I tired to figure this Hello Handshake by myself. I got some results but obviously my guessings are not 100% correct. Exactly in this particular OpenFAST source code you send to me I spotted that some hushing is taken place. From that came my first question about possible hashing of FAST fields? You answered was “No. there is no hushing”. Thanks for that!

3. Please do what I am asking to you and don’t be more clever then I need it. Can you please place in your example code place temporary operator who prints out the binary MSG what goes from your API to GAIN FAST server for Login? From that I will be able to figure out what I need! It is it. I don’t need any links anymore.

Have a nice weekend! All the best!
Arturs
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Feb 03, 2020 @ 09:06 AM             Msg. 7 of 9
OK. Thanks Vitaliy! Probably I will be able to process on my own. I shell bother you in case of the greatest necessity only! During weekend I studied a lot C# and I shell manage.
Thanks Chris as well!
Arturs
AErglis3996
Posts: 24
Joined: Nov 26, 2019


Posted: Feb 04, 2020 @ 12:41 AM             Msg. 8 of 9
In case somebody needs it. The answer to my question is:

c0 7d 82
63 6c 69 65 6e f4
68 74 74 70 3a 2f 2f 4f 70 65 6e 46 41 53 54 2e 6f 72 67 2f 4f 70 65 6e 46 41 53 54 2f 31 2e b1

Arturs
TLau471
Posts: 70
Joined:


Posted: Sep 23, 2022 @ 09:48 PM             Msg. 9 of 9
Can help explain how we should craft "7d 82", what does it mean? Or is it just a fixed value?
TLau