Date   

Re: Notification for new subscriptions Mathias

Glenn McClements <g.mcclements@...>
 

Hi Mathias, 

As Paul pointed out, what you would really want is DQPublisher for C#, but unfortunately there isn’t one at the moment. The reason for this is that that previously there hasn’t been a real demand as most C# applications have been on the client subscribing side, not the publishing side.

It sounds like there are a least a few people now looking for one so I’d be interested in finding out if there are others out there looking the same and if anyone if willing to contribute code in this are? 

Also to clarify:
The MamaPublisher  “basic" publishing ie. without sequence numbers, initial images/recaps etc or any other market data/data quality type features. The equivalent class on the subscribing side is MamaBasicSubscription.

The MamaDQPublisher and associated classes have sequence number injection, callbacks when a client subscription is made etc. The equivalent class on the subscribing side is MamaSubscription.

Cheers,
Glenn 

From: Paul Bradbury <paul.bradbury@...>
Date: Monday, 26 January 2015 16:20
To: "openmama-dev@..." <openmama-dev@...>
Subject: Re: [Openmama-dev] Notification for new subscriptions

From what I recall there, are no .net wrappers for the DQPublisher as yet (although somewhat unfairly there are in the Java codebase!). For me as a greenfield application, it was simpler to write in C++, but I think adding those wrappers wasn’t too big a deal as they were really just wrappers along the lines of the existing code for the normal publisher.

 

Paul.

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Kim Mathias
Sent: 26 January 2015 16:03
To: openmama-dev@...
Subject: [Openmama-dev] Notification for new subscriptions

 

Hi,

 

Currently, I am trying to set up a publisher for market data with OpenMAMA in C#.

I wonder if there is a way to receive a notifcation every time my publisher accepts a new subscription from a subscriber? Is there an event thrown that I can handle?

 

Also, I still don't completely understand the difference between a basic publisher and an advanced publisher. In the development guide, the latter is only mentioned but never described in detail (e.g. how to use it).

 

Best regards

 

Mathias


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5645 / Virus Database: 4273/9002 - Release Date: 01/26/15


Re: Transport callbacks when a middleware bridge automatically reconnects a transport

Glenn McClements <g.mcclements@...>
 

Yep, the SR Labs TCP middleware does exactly as you suggest, in that there is a second disconnect call back when the reconnects have finally failed. We’ll add this note to the bridge wiki as well. 

There is the platformInfo parameter in the callback which could be used to pass back extra info but it’s no where near ideal for this as it’s a void* - the use of this is historical where there has been a need to pass back middleware specific items, but this is not usable across middlewares in its current form.

I’m fully supportive of enhancing this area in a future release as long it there is a) a desire for it out there and b) a way we can implement it in a backward compatible manner. 

Cheers, 
Glenn 

From: Alireza Assadzadeh <Alireza.Assadzadeh@...>
Date: Monday, 26 January 2015 21:22
To: "Alpert, Reed" <reed.alpert@...>, Glenn McClements <g.mcclements@...>, "openmama-dev@..." <openmama-dev@...>
Subject: RE: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

Hi,

 

Glen and Reed, thank you for your responses.

 

Open (2) sounds good. Given the current (2.3.x) functionality of OpenMAMA and the importance of using a consistent/safe approach for current users, I also think option (2) is our best choice.  

 

Option (2):          (a) onDisconnect                              (b) onReconnect

 

For the Solace OpenMAMA Middleware Bridge, we will use Option (2) then.

 

I would like to also highlight and reconfirm that for option (2),  in scenario  we have “(c) if all reconnect attempts fail, at the time of the last reconnect failure, the provides a MAMA_TRANSPORT_DISCONNECT”. Therefore, in the reconnect failure scenario, there are two disconnect notifications provided to the application. Do you see any issues with generating the second onDisconnect back to back (without a matching onReconnect or onConnect)? Does the SR Labs TCP middleware also generate two onDisconnect notifications for the reconnect failure scenario?

 

I didn’t notice any requirements in the OpenMAMA codebase against generating the second onDisconnect for the reconnect failure scenario. If generating the second onDisconnect is ok, I was thinking we could populate additional information in the ‘cause’ and/or ‘platfromInfo’ for any application that is interested in realizing the difference between the two onDisconnect notifications types (which would be Middleware specific, since ‘cause’ does not have a predefined/standardized set of values).

 

Regarding future enhancements, if there is sufficient interest in the community about a separate state for Reconnecting, we could consider adding support for it in a future OpenMAMA release (for Middleware bridges that have the capability).


Regards,

 

--Alireza

 

From: Alpert, Reed [mailto:reed.alpert@...]
Sent: Thursday, January 22, 2015 10:43 AM
To: Glenn McClements; Alireza Assadzadeh; openmama-dev@...
Subject: RE: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi,

 

For us consistency between the bridges is the most important item.

 

Tick42/RMDS also uses the onDisconnect/OnReconnect model (and sends STALE status for each subscription).

 

Both Tick42 and Solace offer, via config, to re-establish each of the subscriptions, so our apps don’t do anything when we get an onDisconnect (except stop any publishing), and then wait for onReconnect and the following INITIALs.

 

It would be good to have a notice that a transport could not be reconnected and the bridge has closed the transport (both Solace and Tick42 have configurable limited retries). In that case the app needs to raise a support request to Operations.

 

It is the case that onQuality(STALE) followed by onQuality(OK) could accomplish the same thing in our case, as the app would simply wait, but keeping the bridge behavior the same makes for less moving parts.

 

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:openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Glenn McClements
Sent: Thursday, January 22, 2015 9:23 AM
To: Alireza Assadzadeh; openmama-dev@...
Subject: Re: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Alireza,

 

Currently for the SR Labs TCP middleware, which is the closest in behaviour to Solace we do:

 

Option (2):          (a) onDisconnect                              (b) onReconnect

 

So this would be the most consistent/safest options for current users (this will also trigger an onPossiblyStale for the subscriptions on that transport btw).

 

You’re right though that people may want to distinguish between a temporary disconnect and a permanent disconnect, in order to only perform the more drastic cleanup type behaviour when a permanent disconnect happens, but there currently isn’t a clean way to do this. 

 

Your solution is analogous to PossiblyStale for the subscriptions, which goes to OK or Stale depending on the whether a message has been missed. We could have a Reconnecting state which would then go to Connected or Disconnected depending on outcome of the retry logic. At the moment I’d say this would be a nice to have for future consideration though as I don’t recall this coming up before from a customer request before. 

 

We’ll update the bridge wiki with the above behaviour http://wiki.openmama.org/index.php/OpenMAMA_Bridge_Documentation

 

Apologies in the delay for getting back btw. 

 

Cheers,

Glenn 

 

From: Alireza Assadzadeh <Alireza.Assadzadeh@...>
Date: Thursday, 15 January 2015 22:54
To: "openmama-dev@..." <openmama-dev@...>
Subject: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Folks,

 

Some middleware bridges may have the capability to automatically reconnect to their messaging infrastructure after a connection failure, for example at the TCP/socket layer. In OpenMAMA C layer, there is the mamaTransportCB and the mamaTransportEvent enum to allow notification about different transport conditions from the middleware bridge to OpenMAMA layer and to the application. In MAMA C++, there is MamaTransportCallback which provides similar notification for a C++ application, for example using onConnect, onDisconnect, onReconnect, and onQuality. There are similar notification mechanisms for the application for other OpenMAMA supported language bindings such as Java and C#.

 

I was looking at what would be a commonly expected and accepted behaviour when the middleware bridge automatically reconnects the connection and was hoping to get your input.

 

Consider the case that a middleware bridge notices a connection failure on a previously established connection. The middleware bridge that is capable of automatically reconnecting then automatically starts a retry mechanism for a predefined number of attempts and may eventually either succeed or fail to reestablish the connection. A middleware that is not capable of automatically reconnecting would provide a disconnect event to the application.

 

For this scenario there are several conceivable options for the middleware bridge and OpenMAMA to provide notifications to the application:

 

One option is the following:

(a)    When connection is lost, provide a MAMA_TRANSPORT_QUALITY event.

(b)   If the connection is successfully reestablished, at the time it is reestablished, provide MAMA_TRANSPORT_RECONNECT event.

(c)    If all reconnect attempts fail, at the time of the last reconnect failure, provide a MAMA_TRANSPORT_DISCONNECT.

 

Another option is that for condition (a),  provide a MAMA_TRANSPORT_DISCONNECT event (instead  of MAMA_TRANSPORT_QUALITY).

 

Yet another option is that for condition (b), provide a MAMA_TRANSPORT_QUALITY event (instead of MAMA_TRANSPORT_RECONNECT). For this option (a) and (b) are differentiated by the application using different values for ‘cause’ in the callback and transport quality is changed accordingly.

 

Here are the above three options summarized using the C++ callback names as shorthand. There are other options, but I think these three illustrate the flexibility / interpretation and the need for elaborating in this area.

 

Option (1):          (a) onQuality(cause=1)                  (b) onReconnect

Option (2):          (a) onDisconnect                              (b) onReconnect

Option (3):          (a) onQuality(cause=1)                  (b) onQuality(cause=0)

 

For option (1) there may also be an onQuality(cause=0) after  the connection is reestablished if the transport has a marketdata subscription with recover gaps and new messaging arrive do not have gaps.

 

We had initially been thinking about implementing option (1) in the Solace OpenMAMA Middleware Bridge. One concern we had with using option (2) was that the onDisconnect may result in a typical application itself to clean up the transport and possibly take transport reconnect actions rather than allowing a middleware (that is capable of doing the automatic reconnect) to perform its reconnect attempts.

 

Another option is enhance the transport callback. For example, to provide a onReconnecting callback when a connection is lost and the middleware is in the state of “reconnecting” the lost connection. However, adding a new callback would require a new OpenMAMA version and may be a longer term possibility to think about.

 

It is valuable to provide a consistent and clear behaviour to the applications in this area, specially across different middleware bridge types. What is the expected behaviour and design of OpenMAMA for these notifications and what do other bridges do in these cases?

 

Regards,

 

--Alireza

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: Transport callbacks when a middleware bridge automatically reconnects a transport

Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

Hi,

 

Glen and Reed, thank you for your responses.

 

Open (2) sounds good. Given the current (2.3.x) functionality of OpenMAMA and the importance of using a consistent/safe approach for current users, I also think option (2) is our best choice.  

 

Option (2):          (a) onDisconnect                              (b) onReconnect

 

For the Solace OpenMAMA Middleware Bridge, we will use Option (2) then.

 

I would like to also highlight and reconfirm that for option (2),  in scenario  we have “(c) if all reconnect attempts fail, at the time of the last reconnect failure, the provides a MAMA_TRANSPORT_DISCONNECT”. Therefore, in the reconnect failure scenario, there are two disconnect notifications provided to the application. Do you see any issues with generating the second onDisconnect back to back (without a matching onReconnect or onConnect)? Does the SR Labs TCP middleware also generate two onDisconnect notifications for the reconnect failure scenario?

 

I didn’t notice any requirements in the OpenMAMA codebase against generating the second onDisconnect for the reconnect failure scenario. If generating the second onDisconnect is ok, I was thinking we could populate additional information in the ‘cause’ and/or ‘platfromInfo’ for any application that is interested in realizing the difference between the two onDisconnect notifications types (which would be Middleware specific, since ‘cause’ does not have a predefined/standardized set of values).

 

Regarding future enhancements, if there is sufficient interest in the community about a separate state for Reconnecting, we could consider adding support for it in a future OpenMAMA release (for Middleware bridges that have the capability).


Regards,

 

--Alireza

 

From: Alpert, Reed [mailto:reed.alpert@...]
Sent: Thursday, January 22, 2015 10:43 AM
To: Glenn McClements; Alireza Assadzadeh; openmama-dev@...
Subject: RE: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi,

 

For us consistency between the bridges is the most important item.

 

Tick42/RMDS also uses the onDisconnect/OnReconnect model (and sends STALE status for each subscription).

 

Both Tick42 and Solace offer, via config, to re-establish each of the subscriptions, so our apps don’t do anything when we get an onDisconnect (except stop any publishing), and then wait for onReconnect and the following INITIALs.

 

It would be good to have a notice that a transport could not be reconnected and the bridge has closed the transport (both Solace and Tick42 have configurable limited retries). In that case the app needs to raise a support request to Operations.

 

It is the case that onQuality(STALE) followed by onQuality(OK) could accomplish the same thing in our case, as the app would simply wait, but keeping the bridge behavior the same makes for less moving parts.

 

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: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Glenn McClements
Sent: Thursday, January 22, 2015 9:23 AM
To: Alireza Assadzadeh; openmama-dev@...
Subject: Re: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Alireza,

 

Currently for the SR Labs TCP middleware, which is the closest in behaviour to Solace we do:

 

Option (2):          (a) onDisconnect                              (b) onReconnect

 

So this would be the most consistent/safest options for current users (this will also trigger an onPossiblyStale for the subscriptions on that transport btw).

 

You’re right though that people may want to distinguish between a temporary disconnect and a permanent disconnect, in order to only perform the more drastic cleanup type behaviour when a permanent disconnect happens, but there currently isn’t a clean way to do this. 

 

Your solution is analogous to PossiblyStale for the subscriptions, which goes to OK or Stale depending on the whether a message has been missed. We could have a Reconnecting state which would then go to Connected or Disconnected depending on outcome of the retry logic. At the moment I’d say this would be a nice to have for future consideration though as I don’t recall this coming up before from a customer request before. 

 

We’ll update the bridge wiki with the above behaviour http://wiki.openmama.org/index.php/OpenMAMA_Bridge_Documentation

 

Apologies in the delay for getting back btw. 

 

Cheers,

Glenn 

 

From: Alireza Assadzadeh <Alireza.Assadzadeh@...>
Date: Thursday, 15 January 2015 22:54
To: "openmama-dev@..." <openmama-dev@...>
Subject: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Folks,

 

Some middleware bridges may have the capability to automatically reconnect to their messaging infrastructure after a connection failure, for example at the TCP/socket layer. In OpenMAMA C layer, there is the mamaTransportCB and the mamaTransportEvent enum to allow notification about different transport conditions from the middleware bridge to OpenMAMA layer and to the application. In MAMA C++, there is MamaTransportCallback which provides similar notification for a C++ application, for example using onConnect, onDisconnect, onReconnect, and onQuality. There are similar notification mechanisms for the application for other OpenMAMA supported language bindings such as Java and C#.

 

I was looking at what would be a commonly expected and accepted behaviour when the middleware bridge automatically reconnects the connection and was hoping to get your input.

 

Consider the case that a middleware bridge notices a connection failure on a previously established connection. The middleware bridge that is capable of automatically reconnecting then automatically starts a retry mechanism for a predefined number of attempts and may eventually either succeed or fail to reestablish the connection. A middleware that is not capable of automatically reconnecting would provide a disconnect event to the application.

 

For this scenario there are several conceivable options for the middleware bridge and OpenMAMA to provide notifications to the application:

 

One option is the following:

(a)    When connection is lost, provide a MAMA_TRANSPORT_QUALITY event.

(b)   If the connection is successfully reestablished, at the time it is reestablished, provide MAMA_TRANSPORT_RECONNECT event.

(c)    If all reconnect attempts fail, at the time of the last reconnect failure, provide a MAMA_TRANSPORT_DISCONNECT.

 

Another option is that for condition (a),  provide a MAMA_TRANSPORT_DISCONNECT event (instead  of MAMA_TRANSPORT_QUALITY).

 

Yet another option is that for condition (b), provide a MAMA_TRANSPORT_QUALITY event (instead of MAMA_TRANSPORT_RECONNECT). For this option (a) and (b) are differentiated by the application using different values for ‘cause’ in the callback and transport quality is changed accordingly.

 

Here are the above three options summarized using the C++ callback names as shorthand. There are other options, but I think these three illustrate the flexibility / interpretation and the need for elaborating in this area.

 

Option (1):          (a) onQuality(cause=1)                  (b) onReconnect

Option (2):          (a) onDisconnect                              (b) onReconnect

Option (3):          (a) onQuality(cause=1)                  (b) onQuality(cause=0)

 

For option (1) there may also be an onQuality(cause=0) after  the connection is reestablished if the transport has a marketdata subscription with recover gaps and new messaging arrive do not have gaps.

 

We had initially been thinking about implementing option (1) in the Solace OpenMAMA Middleware Bridge. One concern we had with using option (2) was that the onDisconnect may result in a typical application itself to clean up the transport and possibly take transport reconnect actions rather than allowing a middleware (that is capable of doing the automatic reconnect) to perform its reconnect attempts.

 

Another option is enhance the transport callback. For example, to provide a onReconnecting callback when a connection is lost and the middleware is in the state of “reconnecting” the lost connection. However, adding a new callback would require a new OpenMAMA version and may be a longer term possibility to think about.

 

It is valuable to provide a consistent and clear behaviour to the applications in this area, specially across different middleware bridge types. What is the expected behaviour and design of OpenMAMA for these notifications and what do other bridges do in these cases?

 

Regards,

 

--Alireza

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: Notification for new subscriptions

Paul Bradbury
 

From what I recall there, are no .net wrappers for the DQPublisher as yet (although somewhat unfairly there are in the Java codebase!). For me as a greenfield application, it was simpler to write in C++, but I think adding those wrappers wasn’t too big a deal as they were really just wrappers along the lines of the existing code for the normal publisher.

 

Paul.

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Kim Mathias
Sent: 26 January 2015 16:03
To: openmama-dev@...
Subject: [Openmama-dev] Notification for new subscriptions

 

Hi,

 

Currently, I am trying to set up a publisher for market data with OpenMAMA in C#.

I wonder if there is a way to receive a notifcation every time my publisher accepts a new subscription from a subscriber? Is there an event thrown that I can handle?

 

Also, I still don't completely understand the difference between a basic publisher and an advanced publisher. In the development guide, the latter is only mentioned but never described in detail (e.g. how to use it).

 

Best regards

 

Mathias


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5645 / Virus Database: 4273/9002 - Release Date: 01/26/15


Notification for new subscriptions

Mathias Kim
 

Hi,

 

Currently, I am trying to set up a publisher for market data with OpenMAMA in C#.

I wonder if there is a way to receive a notifcation every time my publisher accepts a new subscription from a subscriber? Is there an event thrown that I can handle?

 

Also, I still don't completely understand the difference between a basic publisher and an advanced publisher. In the development guide, the latter is only mentioned but never described in detail (e.g. how to use it).

 

Best regards

 

Mathias


Re: Transport callbacks when a middleware bridge automatically reconnects a transport

Alpert, Reed <reed.alpert@...>
 

Hi,

 

For us consistency between the bridges is the most important item.

 

Tick42/RMDS also uses the onDisconnect/OnReconnect model (and sends STALE status for each subscription).

 

Both Tick42 and Solace offer, via config, to re-establish each of the subscriptions, so our apps don’t do anything when we get an onDisconnect (except stop any publishing), and then wait for onReconnect and the following INITIALs.

 

It would be good to have a notice that a transport could not be reconnected and the bridge has closed the transport (both Solace and Tick42 have configurable limited retries). In that case the app needs to raise a support request to Operations.

 

It is the case that onQuality(STALE) followed by onQuality(OK) could accomplish the same thing in our case, as the app would simply wait, but keeping the bridge behavior the same makes for less moving parts.

 

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: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Glenn McClements
Sent: Thursday, January 22, 2015 9:23 AM
To: Alireza Assadzadeh; openmama-dev@...
Subject: Re: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Alireza,

 

Currently for the SR Labs TCP middleware, which is the closest in behaviour to Solace we do:

 

Option (2):          (a) onDisconnect                              (b) onReconnect

 

So this would be the most consistent/safest options for current users (this will also trigger an onPossiblyStale for the subscriptions on that transport btw).

 

You’re right though that people may want to distinguish between a temporary disconnect and a permanent disconnect, in order to only perform the more drastic cleanup type behaviour when a permanent disconnect happens, but there currently isn’t a clean way to do this. 

 

Your solution is analogous to PossiblyStale for the subscriptions, which goes to OK or Stale depending on the whether a message has been missed. We could have a Reconnecting state which would then go to Connected or Disconnected depending on outcome of the retry logic. At the moment I’d say this would be a nice to have for future consideration though as I don’t recall this coming up before from a customer request before. 

 

We’ll update the bridge wiki with the above behaviour http://wiki.openmama.org/index.php/OpenMAMA_Bridge_Documentation

 

Apologies in the delay for getting back btw. 

 

Cheers,

Glenn 

 

From: Alireza Assadzadeh <Alireza.Assadzadeh@...>
Date: Thursday, 15 January 2015 22:54
To: "openmama-dev@..." <openmama-dev@...>
Subject: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

 

Hi Folks,

 

Some middleware bridges may have the capability to automatically reconnect to their messaging infrastructure after a connection failure, for example at the TCP/socket layer. In OpenMAMA C layer, there is the mamaTransportCB and the mamaTransportEvent enum to allow notification about different transport conditions from the middleware bridge to OpenMAMA layer and to the application. In MAMA C++, there is MamaTransportCallback which provides similar notification for a C++ application, for example using onConnect, onDisconnect, onReconnect, and onQuality. There are similar notification mechanisms for the application for other OpenMAMA supported language bindings such as Java and C#.

 

I was looking at what would be a commonly expected and accepted behaviour when the middleware bridge automatically reconnects the connection and was hoping to get your input.

 

Consider the case that a middleware bridge notices a connection failure on a previously established connection. The middleware bridge that is capable of automatically reconnecting then automatically starts a retry mechanism for a predefined number of attempts and may eventually either succeed or fail to reestablish the connection. A middleware that is not capable of automatically reconnecting would provide a disconnect event to the application.

 

For this scenario there are several conceivable options for the middleware bridge and OpenMAMA to provide notifications to the application:

 

One option is the following:

(a)    When connection is lost, provide a MAMA_TRANSPORT_QUALITY event.

(b)   If the connection is successfully reestablished, at the time it is reestablished, provide MAMA_TRANSPORT_RECONNECT event.

(c)    If all reconnect attempts fail, at the time of the last reconnect failure, provide a MAMA_TRANSPORT_DISCONNECT.

 

Another option is that for condition (a),  provide a MAMA_TRANSPORT_DISCONNECT event (instead  of MAMA_TRANSPORT_QUALITY).

 

Yet another option is that for condition (b), provide a MAMA_TRANSPORT_QUALITY event (instead of MAMA_TRANSPORT_RECONNECT). For this option (a) and (b) are differentiated by the application using different values for ‘cause’ in the callback and transport quality is changed accordingly.

 

Here are the above three options summarized using the C++ callback names as shorthand. There are other options, but I think these three illustrate the flexibility / interpretation and the need for elaborating in this area.

 

Option (1):          (a) onQuality(cause=1)                  (b) onReconnect

Option (2):          (a) onDisconnect                              (b) onReconnect

Option (3):          (a) onQuality(cause=1)                  (b) onQuality(cause=0)

 

For option (1) there may also be an onQuality(cause=0) after  the connection is reestablished if the transport has a marketdata subscription with recover gaps and new messaging arrive do not have gaps.

 

We had initially been thinking about implementing option (1) in the Solace OpenMAMA Middleware Bridge. One concern we had with using option (2) was that the onDisconnect may result in a typical application itself to clean up the transport and possibly take transport reconnect actions rather than allowing a middleware (that is capable of doing the automatic reconnect) to perform its reconnect attempts.

 

Another option is enhance the transport callback. For example, to provide a onReconnecting callback when a connection is lost and the middleware is in the state of “reconnecting” the lost connection. However, adding a new callback would require a new OpenMAMA version and may be a longer term possibility to think about.

 

It is valuable to provide a consistent and clear behaviour to the applications in this area, specially across different middleware bridge types. What is the expected behaviour and design of OpenMAMA for these notifications and what do other bridges do in these cases?

 

Regards,

 

--Alireza

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: Transport callbacks when a middleware bridge automatically reconnects a transport

Glenn McClements <g.mcclements@...>
 

Hi Alireza,

Currently for the SR Labs TCP middleware, which is the closest in behaviour to Solace we do:

Option (2):          (a) onDisconnect                              (b) onReconnect


So this would be the most consistent/safest options for current users (this will also trigger an onPossiblyStale for the subscriptions on that transport btw).

You’re right though that people may want to distinguish between a temporary disconnect and a permanent disconnect, in order to only perform the more drastic cleanup type behaviour when a permanent disconnect happens, but there currently isn’t a clean way to do this. 

Your solution is analogous to PossiblyStale for the subscriptions, which goes to OK or Stale depending on the whether a message has been missed. We could have a Reconnecting state which would then go to Connected or Disconnected depending on outcome of the retry logic. At the moment I’d say this would be a nice to have for future consideration though as I don’t recall this coming up before from a customer request before. 

We’ll update the bridge wiki with the above behaviour http://wiki.openmama.org/index.php/OpenMAMA_Bridge_Documentation

Apologies in the delay for getting back btw. 

Cheers,
Glenn 

From: Alireza Assadzadeh <Alireza.Assadzadeh@...>
Date: Thursday, 15 January 2015 22:54
To: "openmama-dev@..." <openmama-dev@...>
Subject: [Openmama-dev] Transport callbacks when a middleware bridge automatically reconnects a transport

Hi Folks,

 

Some middleware bridges may have the capability to automatically reconnect to their messaging infrastructure after a connection failure, for example at the TCP/socket layer. In OpenMAMA C layer, there is the mamaTransportCB and the mamaTransportEvent enum to allow notification about different transport conditions from the middleware bridge to OpenMAMA layer and to the application. In MAMA C++, there is MamaTransportCallback which provides similar notification for a C++ application, for example using onConnect, onDisconnect, onReconnect, and onQuality. There are similar notification mechanisms for the application for other OpenMAMA supported language bindings such as Java and C#.

 

I was looking at what would be a commonly expected and accepted behaviour when the middleware bridge automatically reconnects the connection and was hoping to get your input.

 

Consider the case that a middleware bridge notices a connection failure on a previously established connection. The middleware bridge that is capable of automatically reconnecting then automatically starts a retry mechanism for a predefined number of attempts and may eventually either succeed or fail to reestablish the connection. A middleware that is not capable of automatically reconnecting would provide a disconnect event to the application.

 

For this scenario there are several conceivable options for the middleware bridge and OpenMAMA to provide notifications to the application:

 

One option is the following:

(a)    When connection is lost, provide a MAMA_TRANSPORT_QUALITY event.

(b)   If the connection is successfully reestablished, at the time it is reestablished, provide MAMA_TRANSPORT_RECONNECT event.

(c)    If all reconnect attempts fail, at the time of the last reconnect failure, provide a MAMA_TRANSPORT_DISCONNECT.

 

Another option is that for condition (a),  provide a MAMA_TRANSPORT_DISCONNECT event (instead  of MAMA_TRANSPORT_QUALITY).

 

Yet another option is that for condition (b), provide a MAMA_TRANSPORT_QUALITY event (instead of MAMA_TRANSPORT_RECONNECT). For this option (a) and (b) are differentiated by the application using different values for ‘cause’ in the callback and transport quality is changed accordingly.

 

Here are the above three options summarized using the C++ callback names as shorthand. There are other options, but I think these three illustrate the flexibility / interpretation and the need for elaborating in this area.

 

Option (1):          (a) onQuality(cause=1)                  (b) onReconnect

Option (2):          (a) onDisconnect                              (b) onReconnect

Option (3):          (a) onQuality(cause=1)                  (b) onQuality(cause=0)

 

For option (1) there may also be an onQuality(cause=0) after  the connection is reestablished if the transport has a marketdata subscription with recover gaps and new messaging arrive do not have gaps.

 

We had initially been thinking about implementing option (1) in the Solace OpenMAMA Middleware Bridge. One concern we had with using option (2) was that the onDisconnect may result in a typical application itself to clean up the transport and possibly take transport reconnect actions rather than allowing a middleware (that is capable of doing the automatic reconnect) to perform its reconnect attempts.

 

Another option is enhance the transport callback. For example, to provide a onReconnecting callback when a connection is lost and the middleware is in the state of “reconnecting” the lost connection. However, adding a new callback would require a new OpenMAMA version and may be a longer term possibility to think about.

 

It is valuable to provide a consistent and clear behaviour to the applications in this area, specially across different middleware bridge types. What is the expected behaviour and design of OpenMAMA for these notifications and what do other bridges do in these cases?

 

Regards,

 

--Alireza


Re: OpenMAMA-2.3.2-rc1

Alpert, Reed <reed.alpert@...>
 

Hi,

 

From a testing perspective we’ve been building/using Next branch for some months and have no problems.

 

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: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Gary Molloy
Sent: Wednesday, January 14, 2015 11:59 AM
To: openmama-dev@...
Subject: Re: [Openmama-dev] OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

It’s looking like a fix for the RPM stuff might take a little while longer, so in the interim I’d like to get started with testing of the RC.  If you’re interested and happy to get testing, either building yourself or with a binary release, can you drop me a email. 

 

Depending on the availability of testers, we’ll look at reviewing the status the week of the 26th, and decide then if we’re going to require a second RC.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Gary Molloy
Sent: 08 January 2015 11:56
To: openmama-dev@...
Subject: RE: OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I have cut the new OpenMAMA-2.3.2 branch and created the OpenMAMA-2.3.2-rc1 tag, and this is currently available for testing.

 

The RPM’s will be delayed unfortunately.  It seems that the Fedora repository has updated the default version of proton, to 0.8, and this doesn’t contain the “proton/util.h” header file anymore.  This is causing the mock RPM’s to fail as we look for this include file in a few places.  I don’t believe that we actually use any of the functions that were in the util.h header, but I will investigate this further, correct it and get the RPMs out as soon as possible.

 

Thanks,

Gary

 

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Gary Molloy
Sent: 06 January 2015 13:57
To: openmama-dev@...
Subject: OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: OpenMAMA and Enterprise Mama

Glenn McClements <g.mcclements@...>
 

Issues around the entitlements were brought up on the OpenMAMA Steering Committee call yesterday, so we’ll be discussing it in the next Technical Committee meeting and get a plan together. 

Glenn 

From: Gary Molloy <g.molloy@...>
Date: Friday, 16 January 2015 11:26
To: "Alpert, Reed" <reed.alpert@...>, "openmama-dev@..." <openmama-dev@...>
Subject: Re: [Openmama-dev] OpenMAMA and Enterprise Mama

Hi Reed,

 

Thanks for your email, sorry for the delay in reply. 

 

I think you have touched upon 2 items here:

1.       When /are there any plans for Enterprise MAMA and OpenMAMA to come into sync?

2.       Is it possible for have multiple entitlements bridges?

 

To answer your first question. 

We have made a concerted effort over the last 6 months to bring these into sync and have made substantial progress with this.

With the latest release of OpenMAMA Enterprise Edition, 6.0.3f, there are very few differences with the current OpenMAMA RC 2.3.2 rc1 and we will continue to keep these in line going forwarded with regular synced up releases.

 

To answer your second question, MAMA is currently only built to handle 1 set of entitlements. 

If we were to extend this to cover 3 (or more) bridges we would need to consider a few things:

·         We would need to be able to tie entitlements with a particular topic or source (most likely the source?) – currently we only have 1 set of global entitlements options so the properties would need extended (or re-thought).

·         Would every source have to have entitlements enabled?  How can we enforce entitlements for 1 bridge and not another?

·         We need to be careful in this area for compliance reasons.

·         Seems like we would need the entitlement bridging first, and then the ability to specify entitlement bridges for a source.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Alpert, Reed
Sent: 15 December 2014 21:21
To: openmama-dev@...
Subject: [Openmama-dev] OpenMAMA and Enterprise Mama

 

Hi,

 

What is the plan for OM and EM?

The entitlements in EM are not available in OM, and it looks like turning on entitlements in mama layer is for all of the loaded bridges.

Are patches to OM made available in EM (and vice-versa) – how long does the dev cycle take for that?

 

Our concern is that we run 3 bridges : wombat, tick42/rmds, and solace.

For entitlements we use dart for wombat (our DF5/6/mamacache env), and dacs for tick42/rmds and solace.

We’d like to run OM for all of this (or EM if that is the best way to go).

 

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: OpenMAMA and Enterprise Mama

Gary Molloy <g.molloy@...>
 

Hi Reed,

 

Thanks for your email, sorry for the delay in reply. 

 

I think you have touched upon 2 items here:

1.       When /are there any plans for Enterprise MAMA and OpenMAMA to come into sync?

2.       Is it possible for have multiple entitlements bridges?

 

To answer your first question. 

We have made a concerted effort over the last 6 months to bring these into sync and have made substantial progress with this.

With the latest release of OpenMAMA Enterprise Edition, 6.0.3f, there are very few differences with the current OpenMAMA RC 2.3.2 rc1 and we will continue to keep these in line going forwarded with regular synced up releases.

 

To answer your second question, MAMA is currently only built to handle 1 set of entitlements. 

If we were to extend this to cover 3 (or more) bridges we would need to consider a few things:

·         We would need to be able to tie entitlements with a particular topic or source (most likely the source?) – currently we only have 1 set of global entitlements options so the properties would need extended (or re-thought).

·         Would every source have to have entitlements enabled?  How can we enforce entitlements for 1 bridge and not another?

·         We need to be careful in this area for compliance reasons.

·         Seems like we would need the entitlement bridging first, and then the ability to specify entitlement bridges for a source.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Alpert, Reed
Sent: 15 December 2014 21:21
To: openmama-dev@...
Subject: [Openmama-dev] OpenMAMA and Enterprise Mama

 

Hi,

 

What is the plan for OM and EM?

The entitlements in EM are not available in OM, and it looks like turning on entitlements in mama layer is for all of the loaded bridges.

Are patches to OM made available in EM (and vice-versa) – how long does the dev cycle take for that?

 

Our concern is that we run 3 bridges : wombat, tick42/rmds, and solace.

For entitlements we use dart for wombat (our DF5/6/mamacache env), and dacs for tick42/rmds and solace.

We’d like to run OM for all of this (or EM if that is the best way to go).

 

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. 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. Although this transmission and 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 JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. 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. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Transport callbacks when a middleware bridge automatically reconnects a transport

Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

Hi Folks,

 

Some middleware bridges may have the capability to automatically reconnect to their messaging infrastructure after a connection failure, for example at the TCP/socket layer. In OpenMAMA C layer, there is the mamaTransportCB and the mamaTransportEvent enum to allow notification about different transport conditions from the middleware bridge to OpenMAMA layer and to the application. In MAMA C++, there is MamaTransportCallback which provides similar notification for a C++ application, for example using onConnect, onDisconnect, onReconnect, and onQuality. There are similar notification mechanisms for the application for other OpenMAMA supported language bindings such as Java and C#.

 

I was looking at what would be a commonly expected and accepted behaviour when the middleware bridge automatically reconnects the connection and was hoping to get your input.

 

Consider the case that a middleware bridge notices a connection failure on a previously established connection. The middleware bridge that is capable of automatically reconnecting then automatically starts a retry mechanism for a predefined number of attempts and may eventually either succeed or fail to reestablish the connection. A middleware that is not capable of automatically reconnecting would provide a disconnect event to the application.

 

For this scenario there are several conceivable options for the middleware bridge and OpenMAMA to provide notifications to the application:

 

One option is the following:

(a)    When connection is lost, provide a MAMA_TRANSPORT_QUALITY event.

(b)   If the connection is successfully reestablished, at the time it is reestablished, provide MAMA_TRANSPORT_RECONNECT event.

(c)    If all reconnect attempts fail, at the time of the last reconnect failure, provide a MAMA_TRANSPORT_DISCONNECT.

 

Another option is that for condition (a),  provide a MAMA_TRANSPORT_DISCONNECT event (instead  of MAMA_TRANSPORT_QUALITY).

 

Yet another option is that for condition (b), provide a MAMA_TRANSPORT_QUALITY event (instead of MAMA_TRANSPORT_RECONNECT). For this option (a) and (b) are differentiated by the application using different values for ‘cause’ in the callback and transport quality is changed accordingly.

 

Here are the above three options summarized using the C++ callback names as shorthand. There are other options, but I think these three illustrate the flexibility / interpretation and the need for elaborating in this area.

 

Option (1):          (a) onQuality(cause=1)                  (b) onReconnect

Option (2):          (a) onDisconnect                              (b) onReconnect

Option (3):          (a) onQuality(cause=1)                  (b) onQuality(cause=0)

 

For option (1) there may also be an onQuality(cause=0) after  the connection is reestablished if the transport has a marketdata subscription with recover gaps and new messaging arrive do not have gaps.

 

We had initially been thinking about implementing option (1) in the Solace OpenMAMA Middleware Bridge. One concern we had with using option (2) was that the onDisconnect may result in a typical application itself to clean up the transport and possibly take transport reconnect actions rather than allowing a middleware (that is capable of doing the automatic reconnect) to perform its reconnect attempts.

 

Another option is enhance the transport callback. For example, to provide a onReconnecting callback when a connection is lost and the middleware is in the state of “reconnecting” the lost connection. However, adding a new callback would require a new OpenMAMA version and may be a longer term possibility to think about.

 

It is valuable to provide a consistent and clear behaviour to the applications in this area, specially across different middleware bridge types. What is the expected behaviour and design of OpenMAMA for these notifications and what do other bridges do in these cases?

 

Regards,

 

--Alireza


[PATCH 2.3.2rc1] COMMON: Darwin port Update for Yosemite

Philip Preston
 

Mac OSX 10.10 introduces htonll and ntohll macros in system headers, and as such we get redefine errors when compiling. Changed port.h to only define thefunctions if below Mac OSX 10.10.

Also added 10.10 to the available mac os x versions in scons

Signed-off-by: Phil Preston <philippreston@mac.com>
---
common/c_cpp/src/c/darwin/port.h | 3 +++
site_scons/community/command_line.py | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/c_cpp/src/c/darwin/port.h b/common/c_cpp/src/c/darwin/port.h
index c2458ad..3a56cb4 100644
--- a/common/c_cpp/src/c/darwin/port.h
+++ b/common/c_cpp/src/c/darwin/port.h
@@ -45,6 +45,7 @@
#include <inttypes.h>
#include <pwd.h>
#include <stdlib.h>
+#include <AvailabilityMacros.h>

#include "wConfig.h"

@@ -66,6 +67,7 @@ typedef void* LIB_HANDLE;
#define LIB_EXTENSION ".dylib"

/* Network conversion function */
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_9
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define htonll(x) \
((uint64_t)htonl((uint32_t)((x)>>32)) | (uint64_t)htonl((uint32_t)(x))<<32)
@@ -75,6 +77,7 @@ typedef void* LIB_HANDLE;
#define htonll(x) ((uint64_t)(x))
#define ntohll(x) ((uint64_t)(x))
#endif
+#endif

/* For delimiting multiple paths in env variables properties */
#define PATH_DELIM ':'
diff --git a/site_scons/community/command_line.py b/site_scons/community/command_line.py
index e1791e2..606e448 100644
--- a/site_scons/community/command_line.py
+++ b/site_scons/community/command_line.py
@@ -79,7 +79,7 @@ def get_command_line_opts( host, products, VERSIONS ):
EnumVariable( 'compiler', 'Compiler to use for building OpenMAMA',
'default', allowed_values=('default', 'clang', 'clang-analyzer')),
EnumVariable('osx_version', 'OS X Version to target build at', 'current',
- allowed_values=('current','10.8','10.9')),
+ allowed_values=('current','10.8','10.9','10.10')),
)

return opts
--
1.9.3 (Apple Git-50)


Re: OpenMAMA-2.3.2-rc1

Lee Skillen <lskillen@...>
 

Hi Gary,

Have you tried looking into an alternative tool for building binary
distributions?

We use FPM with great success internally (humourously entitled F'ing
Package Manager, no doubt because packages are a joy to work with).

Introduction: http://www.semicomplete.com/blog/geekery/fpm.html
GitHub: https://github.com/jordansissel/fpm

It's capable of turning gem (ruby), pypi (python), pear (php),
directories and tarballs into deb/rpm (and more) packages.

Basic usage is to build from source and install into a different
prefix that represents the relative install root (e.g.
prefix=/tmp/openmama/usr/local).

Then you can do something like: fpm -s dir -t rpm -n openmama -v
2.3.2-rc1 -d libuuid-devel --iteration 1 --description "OpenMAMA
2.3.2-rc1" -C /tmp/openmama .

Which should generate an rpm such as: openmama-2.3.2_rc1-1.x86_64.rpm

There's a ton of other options that might be useful and are worth
looking into. Good luck!

As for the RC itself - We don't specifically utilise RCs but we do
utilise the next branch. If any issues crop up we'll let you know.

Cheers,
Lee

On 14 January 2015 at 16:58, Gary Molloy <g.molloy@srtechlabs.com> wrote:
Hi Guys,



It’s looking like a fix for the RPM stuff might take a little while longer,
so in the interim I’d like to get started with testing of the RC. If you’re
interested and happy to get testing, either building yourself or with a
binary release, can you drop me a email.



Depending on the availability of testers, we’ll look at reviewing the status
the week of the 26th, and decide then if we’re going to require a second RC.



Thanks,

Gary





Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@srtechlabs.com



From: Gary Molloy
Sent: 08 January 2015 11:56
To: openmama-dev@lists.openmama.org
Subject: RE: OpenMAMA-2.3.2-rc1



Hi Guys,



I have cut the new OpenMAMA-2.3.2 branch and created the OpenMAMA-2.3.2-rc1
tag, and this is currently available for testing.



The RPM’s will be delayed unfortunately. It seems that the Fedora
repository has updated the default version of proton, to 0.8, and this
doesn’t contain the “proton/util.h” header file anymore. This is causing
the mock RPM’s to fail as we look for this include file in a few places. I
don’t believe that we actually use any of the functions that were in the
util.h header, but I will investigate this further, correct it and get the
RPMs out as soon as possible.



Thanks,

Gary







Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@srtechlabs.com



From: Gary Molloy
Sent: 06 January 2015 13:57
To: openmama-dev@lists.openmama.org
Subject: OpenMAMA-2.3.2-rc1



Hi Guys,



I will be cutting RC1 for the next release, 2.3.2, this afternoon.



This will contain a handful of minor issues, unit tests updates, enterprise
issues etc…



If there are any issues in particular you would like to see included in the
next release, please feel free to reply and we can review any issue for
inclusion.



Thanks,

Gary



Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@srtechlabs.com




_______________________________________________
Openmama-dev mailing list
Openmama-dev@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-dev
--
Lee Skillen

Vulcan Financial Technologies
1st Floor, 47 Malone Road, Belfast, BT9 6RY

Office: +44 (0)28 95 817888
Web: www.vulcanft.com


Re: OpenMAMA-2.3.2-rc1

Gary Molloy <g.molloy@...>
 

Hi Guys,

 

It’s looking like a fix for the RPM stuff might take a little while longer, so in the interim I’d like to get started with testing of the RC.  If you’re interested and happy to get testing, either building yourself or with a binary release, can you drop me a email. 

 

Depending on the availability of testers, we’ll look at reviewing the status the week of the 26th, and decide then if we’re going to require a second RC.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Gary Molloy
Sent: 08 January 2015 11:56
To: openmama-dev@...
Subject: RE: OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I have cut the new OpenMAMA-2.3.2 branch and created the OpenMAMA-2.3.2-rc1 tag, and this is currently available for testing.

 

The RPM’s will be delayed unfortunately.  It seems that the Fedora repository has updated the default version of proton, to 0.8, and this doesn’t contain the “proton/util.h” header file anymore.  This is causing the mock RPM’s to fail as we look for this include file in a few places.  I don’t believe that we actually use any of the functions that were in the util.h header, but I will investigate this further, correct it and get the RPMs out as soon as possible.

 

Thanks,

Gary

 

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Gary Molloy
Sent: 06 January 2015 13:57
To: openmama-dev@...
Subject: OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


Re: OpenMAMA-2.3.2-rc1

Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

Gary,

 

Is it possible to include the fix for the following issues in the 2.3.2? There is a patch available for each of these.

 

Bug 176 - MAMAC: Missing actions for snapshot subscriptions transition to deactivate state

Bug 169 - Wombat queue has no separate deallocate method

Bug 166 - Wombat: wInterlocked_set inconsistent return value

 

Thanks.

 

--Alireza

 

From: Gary Molloy [mailto:g.molloy@...]
Sent: Tuesday, January 06, 2015 10:02 AM
To: Alireza Assadzadeh
Cc: openmama-dev@...
Subject: RE: OpenMAMA-2.3.2-rc1

 

Hi Alireza,

 

Yes, it will include the current contents of the next branch.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Alireza Assadzadeh [mailto:Alireza.Assadzadeh@...]
Sent: 06 January 2015 14:10
To: Gary Molloy; openmama-dev@...
Subject: RE: OpenMAMA-2.3.2-rc1

 

Hi Gary,

 

Is the current content of ‘next’ branch what you had in mind for the 2.3.2 release?

 

Regards,

 

--Alireza

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Gary Molloy
Sent: Tuesday, January 06, 2015 8:57 AM
To: openmama-dev@...
Subject: [Openmama-dev] OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


Re: OpenMAMA-2.3.2-rc1

Gary Molloy <g.molloy@...>
 

Hi Guys,

 

I have cut the new OpenMAMA-2.3.2 branch and created the OpenMAMA-2.3.2-rc1 tag, and this is currently available for testing.

 

The RPM’s will be delayed unfortunately.  It seems that the Fedora repository has updated the default version of proton, to 0.8, and this doesn’t contain the “proton/util.h” header file anymore.  This is causing the mock RPM’s to fail as we look for this include file in a few places.  I don’t believe that we actually use any of the functions that were in the util.h header, but I will investigate this further, correct it and get the RPMs out as soon as possible.

 

Thanks,

Gary

 

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Gary Molloy
Sent: 06 January 2015 13:57
To: openmama-dev@...
Subject: OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


Re: OpenMAMA-2.3.2-rc1

Gary Molloy <g.molloy@...>
 

Hi Alireza,

 

Yes, it will include the current contents of the next branch.

 

Thanks,

Gary

 

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 

From: Alireza Assadzadeh [mailto:Alireza.Assadzadeh@...]
Sent: 06 January 2015 14:10
To: Gary Molloy; openmama-dev@...
Subject: RE: OpenMAMA-2.3.2-rc1

 

Hi Gary,

 

Is the current content of ‘next’ branch what you had in mind for the 2.3.2 release?

 

Regards,

 

--Alireza

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Gary Molloy
Sent: Tuesday, January 06, 2015 8:57 AM
To: openmama-dev@...
Subject: [Openmama-dev] OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


Re: OpenMAMA-2.3.2-rc1

Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

Hi Gary,

 

Is the current content of ‘next’ branch what you had in mind for the 2.3.2 release?

 

Regards,

 

--Alireza

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Gary Molloy
Sent: Tuesday, January 06, 2015 8:57 AM
To: openmama-dev@...
Subject: [Openmama-dev] OpenMAMA-2.3.2-rc1

 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


OpenMAMA-2.3.2-rc1

Gary Molloy <g.molloy@...>
 

Hi Guys,

 

I will be cutting RC1 for the next release, 2.3.2, this afternoon.

 

This will contain a handful of minor issues, unit tests updates, enterprise issues etc…

 

If there are any issues in particular you would like to see included in the next release, please feel free to reply and we can review any issue for inclusion.

 

Thanks,

Gary

 

Gary Molloy – SR Labs

Adelaide Exchange | 24-26 Adelaide Street | Belfast | BT2 8GD

g.molloy@...

 


[PATCH 2.3.1 1/1] TESTTOOLS: capturereplayc does not need to send reply when the received mama subscription request is not from inbox.

Alireza Assadzadeh <Alireza.Assadzadeh@...>
 

If subscription message is not from inbox, then there is no need to
publish the initial image when processing onNewRequest or onRequest.
For example, in the case of a real time market data subscription that
has disabled the receipt of initial image.

Test Plan:
- Checked with capturereplayc and mamalistenc.
- Used qpid middleware bridge for regression testing.
- Used solace middleware bridge for the case of real time market
data subscription with receipt of initial image disabled.

Signed-off-by: Alireza Assadzadeh <Alireza.Assadzadeh@solacesystems.com>
---

The patches are against 'next' branch. They are tested by using sample and
testtool programs: capturereplayc and mamalistenc.

.../src/testtools/capturereplay/c/capturereplayc.c | 26 +++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/mama/c_cpp/src/testtools/capturereplay/c/capturereplayc.c b/mama/c_cpp/src/testtools/capturereplay/c/capturereplayc.c
index e4b1ed0..c420384 100644
--- a/mama/c_cpp/src/testtools/capturereplay/c/capturereplayc.c
+++ b/mama/c_cpp/src/testtools/capturereplay/c/capturereplayc.c
@@ -478,8 +478,16 @@ subscriptionHandlerOnNewRequestCb (mamaDQPublisherManager manager,
MamaFieldMsgType.mFid,
MAMA_MSG_TYPE_INITIAL);
}
- mamaDQPublisher_sendReply (gSubscriptionList[index].pub, msg,
- gSubscriptionList[index].cachedMsg);
+ /* If subscription message is from inbox, then send reply to inbox.
+ * Otherwise, there is no need to publish the initial image. For
+ * example, in the case of a real time market data subscription that
+ * has disabled the receipt of initial image.
+ */
+ if (mamaMsg_isFromInbox (msg))
+ {
+ mamaDQPublisher_sendReply (gSubscriptionList[index].pub, msg,
+ gSubscriptionList[index].cachedMsg);
+ }
break;
default:
mama_log (MAMA_LOG_LEVEL_NORMAL, "Publishing MAMA_MSG_TYPE_RECAP");
@@ -529,9 +537,17 @@ subscriptionHandlerOnRequestCb (mamaDQPublisherManager manager,
MamaFieldMsgType.mFid,
MAMA_MSG_TYPE_INITIAL);
}
- mamaDQPublisher_sendReply (gSubscriptionList[index].pub,
- msg,
- gSubscriptionList[index].cachedMsg);
+ /* If subscription message is from inbox, then send reply to inbox.
+ * Otherwise, there is no need to publish the initial image. For
+ * example, in the case of a real time market data subscription that
+ * has disabled the receipt of initial image.
+ */
+ if (mamaMsg_isFromInbox (msg))
+ {
+ mamaDQPublisher_sendReply (gSubscriptionList[index].pub,
+ msg,
+ gSubscriptionList[index].cachedMsg);
+ }
break;
case MAMA_SUBSC_DQ_SUBSCRIBER:
case MAMA_SUBSC_DQ_PUBLISHER:
--
1.9.3

881 - 900 of 2306