Re: Missing transport status in C++ code


Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

I also think the MAMA_TRANSPORT_CONNECT_FAILED language binding is applicable and missing in C++ and it should be supported for consistency with C API.

 

For the user not valid (not in DACS) case, the Solace middleware bridge returns an error mama_status code from bridge mama transport create. Additionally, it invokes the transport callback with MAMA_TRANSPORT_CONNECT_FAILED mama transport event.

 

There are perhaps some of these mama transport events that are deprecated, should not be used or should only be used in special situations. It would be worthwhile to document these in the code.

 

--Alireza

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Tom Doust
Sent: Tuesday, March 31, 2015 7:51 AM
To: Alpert, Reed; Adrienne Ambrose; openmama-dev@...
Subject: Re: [Openmama-dev] Missing transport status in C++ code

 

If the status codes are defined in the fundamental C API then the language bindings that build on that layer must support them. This is supposed to be middleware agnostic – you can’t make assumptions about whether connection failures are going to be synchronous  or not. Some platforms they might be, others they are not.

 

Tom

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Alpert, Reed
Sent: 30 March 2015 18:01
To: Adrienne Ambrose; openmama-dev@...
Subject: Re: [Openmama-dev] Missing transport status in C++ code

 

Hi,

 

The context is that for the Tick42 bridge when the user is not valid (not in DACS) then the bridge sends MAMA_TRANSPORT_CONNECT_FAILED to the transport callback, but the C++ app does not get a callback.

 

Thanks,

 

Reed.

 


Reed Alpert | Corporate & Investment Bank | Market Data Services | J.P. Morgan | 4 Metrotech Center, 23rd Floor, Brooklyn, NY 11245 | T: 718.242.5198  | M: 917.414.4613 | reed.alpert@...

Alternate Contact:  CIB PIM Trading Technology Solutions NA | CIB_PIM_Trading_Technology_Solutions_NA@...

 

From: Adrienne Ambrose [mailto:a.ambrose@...]
Sent: Monday, March 30, 2015 12:57 PM
To: Alpert, Reed; openmama-dev@...
Subject: RE: Missing transport status in C++ code

 

Hi Reed,

 

On second thoughts, the callbacks are the internal MamaQueue.  

Possibly it may have been added for Avis [which is deprecated] let us look into it a bit more.

 

Thanks,

Adrienne

 

 

From: Adrienne Ambrose
Sent: 30 March 2015 17:49
To: 'Alpert, Reed'; openmama-dev@...
Subject: RE: Missing transport status in C++ code

 

Hi Reed,

 

Thanks for your email.

 

In regards to the status codes

- MAMA_TRANSPORT_CONNECT_FAILED

- MAMA_TRANSPORT_WRITE_QUEUE_LOW_WATER_MARK

- MAMA_TRANSPORT_WRITE_QUEUE_HIGH_WATER_MARK

 

The Water Marks have not been ported across because they are not necessary.

C++ and Java  have their own implementation callbacks “onHighWatermarkExceeded” etc,  whereas within C we need to specifically set the callbacks, but if you require these please feel free to submit a patch for consideration.

 

Transport failed was historically used in an old middleware, but is now no longer required so therefore has not been ported to C++ or Java, but again please feel free to submit a patch.

 

Thanks,

Adrienne

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Alpert, Reed
Sent: 30 March 2015 15:46
To: openmama-dev@...
Subject: [Openmama-dev] Missing transport status in C++ code

 

Hi,

 

In MamaTransport.cpp:83 the status codes MAMA_TRANSPORT_CONNECT_FAILED/MAMA_TRANSPORT_WRITE_QUEUE_LOW_WATER_MARK/MAMA_TRANSPORT_WRITE_QUEUE_HIGH_WATER_MARK are missing from the list. Java is the same as C++.

 

Is this for a specific reason or just missing?

If missing I can submit a patch with new callbacks.

 

Thanks,

 

Reed.

 


Reed Alpert | Corporate & Investment Bank | Market Data Services | J.P. Morgan | 4 Metrotech Center, 23rd Floor, Brooklyn, NY 11245 | T: 718.242.5198  | M: 917.414.4613 | reed.alpert@...

Alternate Contact:  CIB PIM Trading Technology Solutions NA | CIB_PIM_Trading_Technology_Solutions_NA@...

 

This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates (collectively, "JPMC"). This transmission may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Although this transmission and any attachments are believed to be free of any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMC for any loss or damage arising in any way from its use. Please note that any electronic communication that is conducted within or through JPMC's systems is subject to interception, monitoring, review, retention and external production in accordance with JPMC's policy and local laws, rules and regulations; may be stored or otherwise processed in countries other than the country in which you are located; and will be treated in accordance with JPMC policies and applicable laws and regulations. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.

This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates (collectively, "JPMC"). This transmission may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Although this transmission and any attachments are believed to be free of any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMC for any loss or damage arising in any way from its use. Please note that any electronic communication that is conducted within or through JPMC's systems is subject to interception, monitoring, review, retention and external production in accordance with JPMC's policy and local laws, rules and regulations; may be stored or otherwise processed in countries other than the country in which you are located; and will be treated in accordance with JPMC policies and applicable laws and regulations. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.

Join Openmama-dev@lists.openmama.org to automatically receive all group messages.