|
From: Øyvind M. W. <oyv...@om...> - 2018-06-27 13:24:58
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Why are you extending MessageCracker? You should only need to
implement Application.</p>
<p>toApp is an interceptor for your outgoing messages. You don't
receive any incoming messages there - it is only the message you
are sending you see here.<br>
</p>
<p>fromApp is where you get the responses.</p>
<p>I see I wrote "register it in your acceptor" - that was from
looking at the example. I assume you are instantiation an initator
here.</p>
<p>Check the message logs to see what is actually sent on the wire.<br>
</p>
<p><br>
</p>
<div class="moz-signature">
<title></title>
<font face="Verdana"><small>Best regards<br>
<br>
<b><font color="#003366">Øyvind Matheson Wergeland</font></b><br>
CTO</small><br>
<small>
<br>
Mobile: (+47) 95 16 16 88<br>
E-mail: <a class="moz-txt-link-abbreviated" href="mailto:oyv...@om...">oyv...@om...</a><br>
<br>
<b><font color="#003366">Oslo Market Solutions</font></b><br>
PO Box 4, 0051 Oslo, Norway<br>
Telephone: (+47) 40 00 23 13<br>
<a class="moz-txt-link-abbreviated" href="http://www.oms.no">www.oms.no</a></small><br>
</font>
</div>
<div class="moz-cite-prefix">On 06/27/2018 03:12 PM, Vamsi
Pinnamaneni wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAF...@ma...">
<pre wrap="">QuickFIX/J Documentation: <a class="moz-txt-link-freetext" href="http://www.quickfixj.org/documentation/">http://www.quickfixj.org/documentation/</a>
QuickFIX/J Support: <a class="moz-txt-link-freetext" href="http://www.quickfixj.org/support/">http://www.quickfixj.org/support/</a>
</pre>
<!--'"--><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<div dir="ltr">Yes i did as you suggested.please find below code.
As a callback method "
<span
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">toApp</span>"
method is calling.Please help me.
<div><br>
</div>
<div>
<div>package com.wealthobjects.fix.application;</div>
<div><br>
</div>
<div>import quickfix.Application;</div>
<div>import quickfix.DoNotSend;</div>
<div>import quickfix.FieldNotFound;</div>
<div>import quickfix.IncorrectDataFormat;</div>
<div>import quickfix.IncorrectTagValue;</div>
<div><br>
</div>
<div>import quickfix.RejectLogon;</div>
<div>import quickfix.Session;</div>
<div>import quickfix.SessionID;</div>
<div>import quickfix.SessionNotFound;</div>
<div>import quickfix.UnsupportedMessageType;</div>
<div>import quickfix.field.Currency;</div>
<div>import quickfix.field.DeleteReason;</div>
<div>import quickfix.field.ExpireDate;</div>
<div>import quickfix.field.ExpireTime;</div>
<div>import quickfix.field.MDEntryID;</div>
<div>import quickfix.field.MDEntryOriginator;</div>
<div>import quickfix.field.MDEntryPositionNo;</div>
<div>import quickfix.field.MDEntryPx;</div>
<div>import quickfix.field.MDEntrySize;</div>
<div>import quickfix.field.MDEntryType;</div>
<div>import quickfix.field.MDReqID;</div>
<div>import quickfix.field.MDUpdateAction;</div>
<div>import quickfix.field.MDUpdateType;</div>
<div>import quickfix.field.MarketDepth;</div>
<div>import quickfix.field.MsgType;</div>
<div>import quickfix.field.NoMDEntryTypes;</div>
<div>import quickfix.field.NoRelatedSym;</div>
<div>import quickfix.field.NumberOfOrders;</div>
<div>import quickfix.field.SenderCompID;</div>
<div>import quickfix.field.SubscriptionRequestType;</div>
<div>import quickfix.field.Symbol;</div>
<div>import quickfix.field.TargetCompID;</div>
<div>import quickfix.fix44.MarketDataIncrementalRefresh;</div>
<div>import quickfix.fix44.Logon;</div>
<div>import
quickfix.fix44.MarketDataIncrementalRefresh.NoMDEntries;</div>
<div>import quickfix.fix44.MarketDataRequest;</div>
<div>import quickfix.fix44.MarketDataSnapshotFullRefresh;</div>
<div>import quickfix.fix44.NewOrderSingle;</div>
<div>import quickfix.fix44.SecurityDefinition;</div>
<div>import quickfix.Message;</div>
<div>import quickfix.MessageCracker;</div>
<div><br>
</div>
<div><br>
</div>
<div>public class WoFixApplication extends MessageCracker
implements Application{</div>
<div><span style="white-space:pre"> </span></div>
<div><br>
</div>
<div> public void onCreate(SessionID sessionId) {</div>
<div> <span style="white-space:pre"> </span>System.out.println("session
created with
counterpart--->"+sessionId.getBeginString());</div>
<div> }</div>
<div> </div>
<div> </div>
<div> public void onLogon(SessionID sessionId) {</div>
<div><span style="white-space:pre"> </span>
System.out.println("onLogon with
counterpart--->"+sessionId.getBeginString());</div>
<div><span style="white-space:pre"> </span> </div>
<div> }</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> public void onLogout(SessionID sessionId) {</div>
<div><span style="white-space:pre"> </span>
System.out.println("onLogout with
counterpart--->"+sessionId.getBeginString());</div>
<div> }</div>
<div> </div>
<div> </div>
<div> public void toAdmin(Message message, SessionID
sessionId) {</div>
<div><span style="white-space:pre"> </span>
System.out.println("toAdmin with
counterpart--->"+sessionId.getBeginString());</div>
<div><span style="white-space:pre"> </span> </div>
<div><span style="white-space:pre"> </span>
System.out.println("message--->"+message.bodyLength());</div>
<div> }</div>
<div> </div>
<div> </div>
<div> public void fromAdmin(Message message, SessionID
sessionId) throws FieldNotFound, IncorrectDataFormat,</div>
<div> IncorrectTagValue, RejectLogon{</div>
<div><span style="white-space:pre"> </span>
System.out.println("fromAdmin with
counterpart--->"+sessionId.getBeginString());</div>
<div><span style="white-space:pre"> </span>
System.out.println("message--->"+message.bodyLength());</div>
<div> }</div>
<div> </div>
<div> </div>
<div> public void toApp(quickfix.Message message, SessionID
sessionId){</div>
<div><span style="white-space:pre"> </span> </div>
<div><span style="white-space:pre"> </span> try {</div>
<div><span style="white-space:pre"> </span>
System.out.println("toApp with
counterpart--->"+sessionId.getBeginString());</div>
<div><span style="white-space:pre"> </span>
System.out.println("message--->"+message.bodyLength());</div>
<div><span style="white-space:pre"> </span>
System.out.println("market
message--->"+message.getHeader().getField(new
MsgType()).getValue());</div>
<div><span style="white-space:pre"> </span>
System.out.println("market message
getClass--->"+message.getClass());</div>
<div><span style="white-space:pre"> </span>
System.out.println("header types from
toApp------>"+message.getHeader().getString(MsgType.FIELD));</div>
<div><span style="white-space:pre"> </span>
//crack((MarketDataRequest)message,sessionId);</div>
<div><span style="white-space:pre"> </span> if
(MsgType.MARKET_DATA_SNAPSHOT_FULL_REFRESH.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>// Handle
snapshot here</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
a full market data snapshot");</div>
<div><span style="white-space:pre"> </span>}</div>
<div><span style="white-space:pre"> </span>else if
(MsgType.MARKET_DATA_INCREMENTAL_REFRESH.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>// Handle
incremental updates here</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
an incremental market data update");</div>
<div><span style="white-space:pre"> </span>}else
if(MsgType.MARKET_DATA_REQUEST.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
an MARKET_DATA_REQUEST market data update");</div>
<div><span style="white-space:pre"> </span>System.out.println("getFieldOrder
length---->"+message.getHeader().getFieldOrder().length);</div>
<div><span style="white-space:pre"> </span>/*message.</div>
<div><span style="white-space:pre"> </span>int
numberOfEntries = message.getField(new
NoMDEntries()).getValue();</div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>MarketDataSnapshotFullRefresh.NoMDEntries
group = new MarketDataSnapshotFullRefresh.NoMDEntries(); </div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>for(int
i=0;i>=numberOfEntries;i++){</div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>//business
logic to read the message </div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>message.getGroup(i
, group);</div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>
int val = (int) group.getMDEntrySize().getValue(); </div>
<div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>
System.out.println("value is = " + val);</div>
<div><span style="white-space:pre"> </span>}</div>
<div><span style="white-space:pre"> </span>*/</div>
<div><span style="white-space:pre"> </span>}</div>
<div><span style="white-space:pre"> </span>} catch (Exception
e) {</div>
<div><span style="white-space:pre"> </span>// TODO
Auto-generated catch block</div>
<div><span style="white-space:pre"> </span>e.printStackTrace();</div>
<div><span style="white-space:pre"> </span>}</div>
<div> }</div>
<div> </div>
<div> </div>
<div> public void fromApp(Message message, SessionID
sessionId) throws FieldNotFound, IncorrectDataFormat,</div>
<div> IncorrectTagValue, UnsupportedMessageType{</div>
<div><span style="white-space:pre"> </span> </div>
<div><span style="white-space:pre"> </span>
System.out.println("fromApp with
counterpart--->"+sessionId.getBeginString());</div>
<div><span style="white-space:pre"> </span>
System.out.println("message--->"+message.bodyLength());</div>
<div><span style="white-space:pre"> </span>
System.out.println("market
message--->"+message.getHeader().getField(new
MsgType()).getValue());</div>
<div><span style="white-space:pre"> </span>
System.out.println("market message
getClass--->"+message.getClass());</div>
<div><span style="white-space:pre"> </span>
System.out.println("header types
fromApp------>"+message.getHeader().getString(MsgType.FIELD));</div>
<div><span style="white-space:pre"> </span>
System.out.println("header types
fromApp------>"+message.getHeader().getFieldOrder().length);</div>
<div><span style="white-space:pre"> </span> if
(MsgType.MARKET_DATA_SNAPSHOT_FULL_REFRESH.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>// Handle
snapshot here</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
a full market data snapshot");</div>
<div><span style="white-space:pre"> </span>}</div>
<div><span style="white-space:pre"> </span>else if
(MsgType.MARKET_DATA_INCREMENTAL_REFRESH.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>// Handle
incremental updates here</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
an incremental market data update");</div>
<div><span style="white-space:pre"> </span>}else
if(MsgType.MARKET_DATA_REQUEST.equals(message.getHeader().getField(new
MsgType()).getValue())) {</div>
<div><span style="white-space:pre"> </span>System.out.println("Received
an MARKET_DATA_REQUEST market data update");</div>
<div><span style="white-space:pre"> </span>System.out.println("getFieldOrder
length---->"+message.getHeader().getFieldOrder().length);</div>
<div><span style="white-space:pre"> </span> /*int
numberOfEntries = message.getField(new
NoMDEntries()).getValue(); </div>
<div> MarketDataSnapshotFullRefresh.NoMDEntries
group = new MarketDataSnapshotFullRefresh.NoMDEntries(); </div>
<div> for(int i=0;i<numberOfEntries;i++){ </div>
<div> //business logic to read the
message </div>
<div> message.getGroup(i , group); </div>
<div> int val = (int)
group.getMDEntrySize().getValue(); </div>
<div> System.out.println("value is = " +
val + " f = " + f); </div>
<div> } </div>
<div> */</div>
<div> </div>
<div> </div>
<div> </div>
<div> <span style="white-space:pre"> </span>}</div>
<div><span style="white-space:pre"> </span>}</div>
<div> </div>
<div> </div>
<div> </div>
<div> /*@Override</div>
<div> public void onMessage(NewOrderSingle message,
SessionID sessionID)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside onMessage for New Order
Single");</div>
<div> super.onMessage(message, sessionID);</div>
<div> }</div>
<div><br>
</div>
<div> @Override</div>
<div> public void onMessage(SecurityDefinition message,
SessionID sessionID)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside onMessage for
SecurityDefinition");</div>
<div> super.onMessage(message, sessionID);</div>
<div> }</div>
<div><br>
</div>
<div> @Override</div>
<div> public void onMessage(Logon message, SessionID
sessionID)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside Logon Message");</div>
<div> super.onMessage(message, sessionID);</div>
<div> }</div>
<div> </div>
<div> //market data call back functions</div>
<div> @Override</div>
<div> public void onMessage(MarketDataSnapshotFullRefresh
message, SessionID session)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside
MarketDataSnapshotFullRefresh Message");</div>
<div> String Symbol = message.get(new
Symbol()).getValue();</div>
<div> </div>
<div> System.out.println("Symbol from
MarketDataSnapshotFullRefresh"+Symbol);</div>
<div> super.onMessage(message, session);</div>
<div> }</div>
<div> </div>
<div> @Override</div>
<div> public void onMessage(MarketDataRequest message,
SessionID session)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside MarketDataRequest
Message");</div>
<div>
System.out.println("------>"+message.getNoRelatedSym().getValue());</div>
<div> </div>
<div> super.onMessage(message, session);</div>
<div> }*/</div>
<div> </div>
<div> public void onMessage(MarketDataIncrementalRefresh
message, SessionID session)</div>
<div> throws FieldNotFound, UnsupportedMessageType,
IncorrectTagValue {</div>
<div> System.out.println("Inside
MarketDataIncrementalRefresh Message");</div>
<div>
System.out.println("------>"+message.getBoolean(1));</div>
<div> super.onMessage(message, session);</div>
<div> }</div>
<div> </div>
<div> </div>
<div><br>
</div>
<div>}</div>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jun 27, 2018 at 4:01 PM, Øyvind
Matheson Wergeland <span dir="ltr"><<a
href="mailto:oyv...@om..." target="_blank"
moz-do-not-send="true">oyv...@om...</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">QuickFIX/J
Documentation: <a
href="http://www.quickfixj.org/documentation/%0AQuickFIX/J"
rel="noreferrer" target="_blank" moz-do-not-send="true">http://www.quickfixj.org/<wbr>documentation/<br>
QuickFIX/J</a> Support: <a
href="http://www.quickfixj.org/support/" rel="noreferrer"
target="_blank" moz-do-not-send="true">http://www.quickfixj.org/<wbr>support/</a><br>
<br>
<br>
<br>
<div text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<p>All inbound application level messages are passed to
Application.fromApp. Note that FIX messages are
asynchronous; there is no guarantee from the protocol
when a response for your MarketDataRequest is returned.<br>
</p>
<p><a class="m_-6401823340418250282moz-txt-link-freetext"
href="https://www.quickfixj.org/usermanual/2.0.0//usage/application.html"
target="_blank" moz-do-not-send="true">https://www.quickfixj.org/<wbr>usermanual/2.0.0//usage/<wbr>application.html</a></p>
<p>You have to implement the Application interface and
register it in your acceptor as in the example on the
page above.<br>
</p>
<p><br>
</p>
<div class="m_-6401823340418250282moz-signature"> <font
face="Verdana"><small>Best regards<br>
<br>
<b><font color="#003366">Øyvind Matheson Wergeland</font></b><br>
CTO</small><br>
<small> <br>
Mobile: (+47) 95 16 16 88<br>
E-mail: <a
class="m_-6401823340418250282moz-txt-link-abbreviated"
href="mailto:oyv...@om..."
target="_blank" moz-do-not-send="true">oyv...@om...</a><br>
<br>
<b><font color="#003366">Oslo Market Solutions</font></b><br>
PO Box 4, 0051 Oslo, Norway<br>
Telephone: (+47) 40 00 23 13<br>
<a
class="m_-6401823340418250282moz-txt-link-abbreviated"
href="http://www.oms.no" target="_blank"
moz-do-not-send="true">www.oms.no</a></small><br>
</font> </div>
<div class="m_-6401823340418250282moz-cite-prefix">On
06/27/2018 11:25 AM, Vamsi Pinnamaneni wrote:<br>
</div>
<blockquote type="cite">
<pre>QuickFIX/J Documentation: <a class="m_-6401823340418250282moz-txt-link-freetext" href="http://www.quickfixj.org/documentation/" target="_blank" moz-do-not-send="true">http://www.quickfixj.org/<wbr>documentation/</a>
QuickFIX/J Support: <a class="m_-6401823340418250282moz-txt-link-freetext" href="http://www.quickfixj.org/support/" target="_blank" moz-do-not-send="true">http://www.quickfixj.org/<wbr>support/</a>
</pre>
<br>
<fieldset
class="m_-6401823340418250282mimeAttachmentHeader"></fieldset>
<br>
<div dir="ltr">I am using following code
<div><br>
</div>
<div>
<div> public static void sendMarketDataRequest(<wbr>SessionID
sessionId) </div>
<div><span style="white-space:pre-wrap"> </span>throws
SessionNotFound {</div>
<div><span style="white-space:pre-wrap"> </span>System.out.println("sending
request........");</div>
<div><span style="white-space:pre-wrap"> </span>//
We generate a new request ID</div>
<div><span style="white-space:pre-wrap"> </span>MDReqID
reqId = new MDReqID("MDRQ-" +
String.valueOf(System.<wbr>currentTimeMillis()));</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>//
We want EUR/XBT data</div>
<div><span style="white-space:pre-wrap"> </span>String
currencyPair = "USD/VND";</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>//
We want to get a snapshot and also subscribe to
the market depth updates</div>
<div><span style="white-space:pre-wrap"> </span>SubscriptionRequestType
subscriptionType = new SubscriptionRequestType(<wbr>SubscriptionRequestType.<wbr>SNAPSHOT);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>//
We want the full book here, not just the top</div>
<div><span style="white-space:pre-wrap"> </span>MarketDepth
depthType = new MarketDepth(1);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>//
We'll want only incremental refreshes when new
data is available</div>
<div><span style="white-space:pre-wrap"> </span>MDUpdateType
updateType = new MDUpdateType(MDUpdateType.<wbr>FULL_REFRESH);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>MarketDataRequest
mdr = new MarketDataRequest(reqId,
subscriptionType, depthType);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>mdr.setField(updateType);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>MarketDataRequest.NoRelatedSym
instruments = new MarketDataRequest.<wbr>NoRelatedSym();</div>
<div><span style="white-space:pre-wrap"> </span>instruments.set(new
Symbol(currencyPair));</div>
<div><span style="white-space:pre-wrap"> </span>mdr.addGroup(instruments);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>//
Specify that we'll want the bids and asks</div>
<div><span style="white-space:pre-wrap"> </span>mdr.setField(new
NoMDEntryTypes(2));<span style="white-space:pre-wrap"> </span></div>
<div><span style="white-space:pre-wrap"> </span>MarketDataRequest.<wbr>NoMDEntryTypes
group = new MarketDataRequest.<wbr>NoMDEntryTypes();</div>
<div><span style="white-space:pre-wrap"> </span>group.set(new
MDEntryType(MDEntryType.BID));</div>
<div><span style="white-space:pre-wrap"> </span>group.set(new
MDEntryType(MDEntryType.OFFER)<wbr>);</div>
<div><span style="white-space:pre-wrap"> </span>mdr.addGroup(group);</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span>boolean
fromMarket = Session.sendToTarget(mdr, sessionId);</div>
<div><span style="white-space:pre-wrap"> </span>System.out.println("market
request status--->"+fromMarket);</div>
<div><span style="white-space:pre-wrap"> </span>}</div>
</div>
<div><br>
</div>
<div>/////</div>
<div>the request is success. after that which cal back
method i need to check and how to parse that Code
for getting Symbol prize.</div>
</div>
<br>
<fieldset
class="m_-6401823340418250282mimeAttachmentHeader"></fieldset>
<br>
<pre>------------------------------<wbr>------------------------------<wbr>------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a class="m_-6401823340418250282moz-txt-link-freetext" href="http://sdm.link/slashdot" target="_blank" moz-do-not-send="true">http://sdm.link/slashdot</a></pre>
<br>
<fieldset
class="m_-6401823340418250282mimeAttachmentHeader"></fieldset>
<br>
<pre>______________________________<wbr>_________________
Quickfixj-users mailing list
<a class="m_-6401823340418250282moz-txt-link-abbreviated" href="mailto:Qui...@li..." target="_blank" moz-do-not-send="true">Quickfixj-users@lists.<wbr>sourceforge.net</a>
<a class="m_-6401823340418250282moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/quickfixj-users" target="_blank" moz-do-not-send="true">https://lists.sourceforge.net/<wbr>lists/listinfo/quickfixj-users</a>
</pre>
</blockquote>
<br>
</div>
<br>
------------------------------<wbr>------------------------------<wbr>------------------<br>
Check out the vibrant tech community on one of the world's
most<br>
engaging tech sites, Slashdot.org! <a
href="http://sdm.link/slashdot" rel="noreferrer"
target="_blank" moz-do-not-send="true">http://sdm.link/slashdot</a><br>
______________________________<wbr>_________________<br>
Quickfixj-users mailing list<br>
<a href="mailto:Qui...@li..."
moz-do-not-send="true">Quickfixj-users@lists.<wbr>sourceforge.net</a><br>
<a
href="https://lists.sourceforge.net/lists/listinfo/quickfixj-users"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.sourceforge.net/<wbr>lists/listinfo/quickfixj-users</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div><span
style="color:rgb(136,136,136);font-family:Arial,sans-serif;font-size:x-small;line-height:13.5533px">Regards,<br>
</span></div>
<div><span
style="color:rgb(136,136,136);font-family:Arial,sans-serif;font-size:x-small;line-height:13.5533px">Vamsi
Krishna Pinnamaneni<br>
</span></div>
<div dir="ltr"><span
style="color:rgb(136,136,136);font-family:Arial,sans-serif;font-size:x-small;line-height:13.5533px"><br>
The information contained in this message may be
confidential and is intended for the addressee
only. If you don't think this email is meant for
you, please let us know. Do not copy or forward
the information it contains, and delete this email
from your system. Any personal views or opinions
are those of the author and do not necessarily
represent those of Wealth Objects Limited. This
email does not create or vary any contractual
obligations between Wealth Objects Limited and the
addressee.</span><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--'"--><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a class="moz-txt-link-freetext" href="http://sdm.link/slashdot">http://sdm.link/slashdot</a></pre>
<!--'"--><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Quickfixj-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Qui...@li...">Qui...@li...</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/quickfixj-users">https://lists.sourceforge.net/lists/listinfo/quickfixj-users</a>
</pre>
</blockquote>
<br>
</body>
</html>
|