Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions src/components/footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
faDev,
faGithub,
faLinkedin,
faTwitter,
faSquareXTwitter,
faYoutube,
} from "@fortawesome/free-brands-svg-icons"
import { Container, Row, Col } from "react-bootstrap"
Expand Down Expand Up @@ -254,7 +254,11 @@ const Footer = () => (
rel="noopener noreferrer"
aria-label="Twitter"
>
<FontAwesomeIcon icon={faTwitter} size="1x" className="ma2" />
<FontAwesomeIcon
icon={faSquareXTwitter}
size="1x"
className="ma2"
/>
</a>
<a
href="https://www.youtube.com/SolaceSystems"
Expand Down
6 changes: 3 additions & 3 deletions src/components/relatedTopics.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
LinkedinShareButton,
FacebookIcon,
LinkedinIcon,
XIcon
XIcon,
} from "react-share"

const RelatedTopics = (props) => {
Expand Down Expand Up @@ -72,7 +72,7 @@ const RelatedTopics = (props) => {
</Button>{" "}
<Button
className="mt1 mb3 w-100"
href="https://solace.community/"
href="https://community.solace.com/"
target="_blank"
rel="noreferrer"
variant="primary"
Expand All @@ -92,7 +92,7 @@ const RelatedTopics = (props) => {
<XIcon size={32} round={true} />
</TwitterShareButton>
<LinkedinShareButton
className="pr-1 pl-1"
className="pr-1 pl-1 px-2"
url={link}
summary={social_string}
>
Expand Down
76 changes: 38 additions & 38 deletions src/pages/tutorials/openmama/hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@ title: Solace Hello World
summary: This tutorial demonstrates basic publishing using OpenMAMA with Solace messaging.
icon: I_Solace.svg
links:
- label: mama.properties
link: /blob/master/src/helloworld/mama.properties
- label: topicPublishOne.c
link: /blob/master/src/helloworld/topicPublishOne.c
- label: feedback
link: https://github.com/SolaceDev/solace-dev-tutorials/blob/master/src/pages/tutorials/openmama/hello-world.md
- label: mama.properties
link: /blob/master/src/helloworld/mama.properties
- label: topicPublishOne.c
link: /blob/master/src/helloworld/topicPublishOne.c
- label: feedback
link: https://github.com/SolaceDev/solace-dev-tutorials/blob/master/src/pages/tutorials/openmama/hello-world.md
---

## Assumptions

This tutorial assumes the following:

* You are familiar with OpenMAMA [core concepts](https://docs.solace.com/Solace-OpenMama/Solace-OpenMAMA-Overview.htm).
* If not, see [this guide](https://openmama.finos.org/quickstart).
* You are familiar with Solace [core concepts](https://docs.solace.com/PubSub-Basics/Core-Concepts.htm).
* You have access to a properly installed OpenMAMA [release](https://github.com/OpenMAMA/OpenMAMA/releases).
* Solace middleware bridge with its dependencies is also installed
* You have access to Solace messaging with the following configuration details:
* Connectivity information for a Solace message-VPN
* Enabled client username and password
- You are familiar with OpenMAMA [core concepts](https://docs.solace.com/Solace-OpenMama/Solace-OpenMAMA-Overview.htm).
- If not, see [this guide](https://openmama.finos.org/quickstart).
- You are familiar with Solace [core concepts](https://docs.solace.com/PubSub-Basics/Core-Concepts.htm).
- You have access to a properly installed OpenMAMA [release](https://github.com/OpenMAMA/OpenMAMA/releases).
- Solace middleware bridge with its dependencies is also installed
- You have access to Solace messaging with the following configuration details:
- Connectivity information for a Solace message-VPN
- Enabled client username and password

One simple way to get access to Solace messaging quickly is to create a messaging service in Solace Cloud [as outlined here](https://solace.com/products/platform/cloud/). You can find other ways to get access to Solace messaging below.

Expand Down Expand Up @@ -58,8 +58,8 @@ The program will consist of two major parts:

Any OpenMAMA program begins with initialization that consists of loading a bridge and opening it, in this particular order:

* load
* open
- load
- open

This is how it is done.

Expand Down Expand Up @@ -154,8 +154,8 @@ In order to publish a message we need to do the following **in this particular o

Creating of transport includes two steps in this particular order:

* allocate
* create
- allocate
- create

```c
mamaTransport transport = NULL;
Expand Down Expand Up @@ -230,11 +230,11 @@ mama.solace.transport.vmr.allow_recover_gaps=false

Notice how `solace` and `vmr` property token names are the same as in `mama_loadBridge(&bridge, "solace")` and `mamaTransport_create(transport, "vmr", bridge)` calls.

* `mama.solace.transport.vmr.session_host` is `Host` and usually has a value of the host address of your **Solace messaging**.
* `mama.solace.transport.vmr.session_username` is `Client Username`
* `mama.solace.transport.vmr.session_password` is optional `Client Password`
* `mama.solace.transport.vmr.session_vpn_name` is `Message VPN`
* `mama.solace.transport.vmr.allow_recover_gaps` doesn’t have a default value and specifies whether the Solace middleware bridge should override applications settings for recovering from sequence number gaps in subscriptions. When `allow_recover_gaps` is `true` applications are allowed to specify the gap recovery behaviour. When `allow_recover_gaps` is `false`, the gap recovery is disabled for all subscriptions, regardless of applications settings.
- `mama.solace.transport.vmr.session_host` is `Host` and usually has a value of the host address of your **Solace messaging**.
- `mama.solace.transport.vmr.session_username` is `Client Username`
- `mama.solace.transport.vmr.session_password` is optional `Client Password`
- `mama.solace.transport.vmr.session_vpn_name` is `Message VPN`
- `mama.solace.transport.vmr.allow_recover_gaps` doesn’t have a default value and specifies whether the Solace middleware bridge should override applications settings for recovering from sequence number gaps in subscriptions. When `allow_recover_gaps` is `true` applications are allowed to specify the gap recovery behaviour. When `allow_recover_gaps` is `false`, the gap recovery is disabled for all subscriptions, regardless of applications settings.

Now we need to modify our program to refer to this **properties file** by its name and location (in the current directory: `"."`):

Expand Down Expand Up @@ -369,8 +369,8 @@ int main(int argc, const char** argv)

Combining the example source code shown above results in the following source code files:

* [mama.properties](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/helloworld/mama.properties)
* [topicPublishOne.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/helloworld/topicPublishOne.c)
- [mama.properties](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/helloworld/mama.properties)
- [topicPublishOne.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/helloworld/topicPublishOne.c)

### Building

Expand Down Expand Up @@ -449,22 +449,22 @@ Congratulations! You have now successfully published a message on Solace messagi

For more information about OpenMAMA:

* The OpenMAMA [website](https://www.openmama.org/)
* The OpenMAMA code repository on [GitHub](https://github.com/OpenMAMA/OpenMAMA)
* Chat with OpenMAMA developers and users at [Gitter OpenMAMA room](https://gitter.im/OpenMAMA/OpenMAMA)
- The OpenMAMA [website](https://www.openmama.org/)
- The OpenMAMA code repository on [GitHub](https://github.com/OpenMAMA/OpenMAMA)
- Chat with OpenMAMA developers and users at [Gitter OpenMAMA room](https://gitter.im/OpenMAMA/OpenMAMA)

For more information about Solace technology:

* The [Solace Developer Portal website](https://www.solace.dev)
* Get a better understanding of [Solace technology](https://solace.com/products/tech/)
* Ask the [Solace community](https://solace.community)
- The [Solace Developer Portal website](https://www.solace.dev)
- Get a better understanding of [Solace technology](https://solace.com/products/tech/)
- Ask the [Solace community](https://community.solace.com)

Other tutorials and related links:

* [OpenMAMA Quick Start Guide](https://openmama.finos.org/quickstart)
* [OpenMAMA Wiki Quick Start Guide](https://github.com/OpenMAMA/OpenMAMA/wiki/Quick-Start-Guide)
* [OpenMAMA Example Walk Through](https://openmama.finos.org/quickstart)
* [OpenMAMA Code Examples](https://github.com/OpenMAMA/OpenMAMA/tree/master/mama/c_cpp/src/examples)
* [OpenMAMA Wiki](https://github.com/OpenMAMA/OpenMAMA/wiki)
* [OpenMAMA Documentation and Developers Guides](https://openmama.finos.org/documentation.html)
* [Solace’s Solution for OpenMAMA](https://solace.com/products/tech/)
- [OpenMAMA Quick Start Guide](https://openmama.finos.org/quickstart)
- [OpenMAMA Wiki Quick Start Guide](https://github.com/OpenMAMA/OpenMAMA/wiki/Quick-Start-Guide)
- [OpenMAMA Example Walk Through](https://openmama.finos.org/quickstart)
- [OpenMAMA Code Examples](https://github.com/OpenMAMA/OpenMAMA/tree/master/mama/c_cpp/src/examples)
- [OpenMAMA Wiki](https://github.com/OpenMAMA/OpenMAMA/wiki)
- [OpenMAMA Documentation and Developers Guides](https://openmama.finos.org/documentation.html)
- [Solace’s Solution for OpenMAMA](https://solace.com/products/tech/)
74 changes: 37 additions & 37 deletions src/pages/tutorials/openmama/publish-subscribe.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,28 @@ title: Publish/Subscribe
summary: Learn how to pub/sub using OpenMAMA with the Solace middleware bridge.
icon: I_dev_P+S.svg
links:
- label: mama.properties
link: /blob/master/src/pubsub/mama.properties
- label: topicSubscriber.c
link: blob/master/src/pubsub/topicSubscriber.c
- label: topicPublisher.c
link: /blob/master/src/pubsub/topicPublisher.c
- label: feedback
link: https://github.com/SolaceDev/solace-dev-tutorials/blob/master/src/pages/tutorials/openmama/publish-subscribe.md
- label: mama.properties
link: /blob/master/src/pubsub/mama.properties
- label: topicSubscriber.c
link: blob/master/src/pubsub/topicSubscriber.c
- label: topicPublisher.c
link: /blob/master/src/pubsub/topicPublisher.c
- label: feedback
link: https://github.com/SolaceDev/solace-dev-tutorials/blob/master/src/pages/tutorials/openmama/publish-subscribe.md
---

## Assumptions

This tutorial assumes the following:

* You are familiar with OpenMAMA [core concepts](https://docs.solace.com/Solace-OpenMama/Solace-OpenMAMA-Overview.htm).
* If not, see [this OpenMAMA guide](https://openmama.finos.org/quickstart) and [Solace OpenMAMA “Hello World” tutorial](../hello-world/).
* You are familiar with Solace [core concepts](https://docs.solace.com/PubSub-Basics/Core-Concepts.htm).
* You have access to a properly installed OpenMAMA [release](https://github.com/OpenMAMA/OpenMAMA/releases).
* Solace middleware bridge with its dependencies is also installed
* You have access to Solace messaging with the following configuration details:
* Connectivity information for a Solace message-VPN
* Enabled client username and password
- You are familiar with OpenMAMA [core concepts](https://docs.solace.com/Solace-OpenMama/Solace-OpenMAMA-Overview.htm).
- If not, see [this OpenMAMA guide](https://openmama.finos.org/quickstart) and [Solace OpenMAMA “Hello World” tutorial](../hello-world/).
- You are familiar with Solace [core concepts](https://docs.solace.com/PubSub-Basics/Core-Concepts.htm).
- You have access to a properly installed OpenMAMA [release](https://github.com/OpenMAMA/OpenMAMA/releases).
- Solace middleware bridge with its dependencies is also installed
- You have access to Solace messaging with the following configuration details:
- Connectivity information for a Solace message-VPN
- Enabled client username and password

One simple way to get access to Solace messaging quickly is to create a messaging service in Solace Cloud [as outlined here](https://solace.com/products/platform/cloud/). You can find other ways to get access to Solace messaging below.

Expand All @@ -37,8 +37,8 @@ This tutorial will show you how to publish a message with one string field to a

This tutorial will show you how to use OpenMAMA C API:

* to build and send a message on a topic
* to subscribe to a topic and receive a message
- to build and send a message on a topic
- to subscribe to a topic and receive a message

## Installation

Expand Down Expand Up @@ -81,9 +81,9 @@ The **receiver** is a data structure with function pointers that are invoked by

It has a type of `mamaMsgCallbacks` and it is expected to have, as a minimum, the following function pointers:

* `onCreate` that is invoked when a subscription is created
* `onError` that is invoked when an error occurs
* `onMsg` that is invoked when a message arrives on the subscribed topic
- `onCreate` that is invoked when a subscription is created
- `onError` that is invoked when an error occurs
- `onMsg` that is invoked when a message arrives on the subscribed topic

This is how the routine for creating a subscription is implemented:

Expand Down Expand Up @@ -309,9 +309,9 @@ Our application consists of two executables: _topicSubscriber_ and _topicPublish

If you combine the example source code shown above and split them into the two mentioned executables, it results in the source that is available for download:

* [mama.properties](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/mama.properties)
* [topicSubscriber.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/topicSubscriber.c)
* [topicPublisher.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/topicPublisher.c)
- [mama.properties](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/mama.properties)
- [topicSubscriber.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/topicSubscriber.c)
- [topicPublisher.c](https://github.com/SolaceSamples/solace-samples-openmama/blob/master/src/pubsub/topicPublisher.c)

### Building

Expand Down Expand Up @@ -433,22 +433,22 @@ Congratulations! You have now successfully subscribed to a topic and exchanged m

For more information about OpenMAMA:

* The OpenMAMA [website](http://www.openmama.org/)
* The OpenMAMA code repository on [GitHub](https://github.com/OpenMAMA/OpenMAMA)
* Chat with OpenMAMA developers and users at [Gitter OpenMAMA room](https://gitter.im/OpenMAMA/OpenMAMA)
- The OpenMAMA [website](http://www.openmama.org/)
- The OpenMAMA code repository on [GitHub](https://github.com/OpenMAMA/OpenMAMA)
- Chat with OpenMAMA developers and users at [Gitter OpenMAMA room](https://gitter.im/OpenMAMA/OpenMAMA)

For more information about Solace technology:

* The [Solace Developer Portal website](https://www.solace.dev)
* Get a better understanding of [Solace technology](https://solace.com/products/tech/)
* Ask the [Solace community](https://solace.community)
- The [Solace Developer Portal website](https://www.solace.dev)
- Get a better understanding of [Solace technology](https://solace.com/products/tech/)
- Ask the [Solace community](https://community.solace.com)

Other tutorials and related links:

* [OpenMAMA Quick Start Guide](https://openmama.finos.org/quickstart)
* [OpenMAMA Wiki Quick Start Guide](https://github.com/OpenMAMA/OpenMAMA/wiki/Quick-Start-Guide)
* [OpenMAMA Example Walk Through](https://openmama.finos.org/quickstart)
* [OpenMAMA Code Examples](https://github.com/OpenMAMA/OpenMAMA/tree/master/mama/c_cpp/src/examples)
* [OpenMAMA Wiki](https://github.com/OpenMAMA/OpenMAMA/wiki)
* [OpenMAMA Documentation and Developers Guides](https://openmama.finos.org/documentation.html)
* [Solace’s Solution for OpenMAMA](https://solace.com/products/tech/)
- [OpenMAMA Quick Start Guide](https://openmama.finos.org/quickstart)
- [OpenMAMA Wiki Quick Start Guide](https://github.com/OpenMAMA/OpenMAMA/wiki/Quick-Start-Guide)
- [OpenMAMA Example Walk Through](https://openmama.finos.org/quickstart)
- [OpenMAMA Code Examples](https://github.com/OpenMAMA/OpenMAMA/tree/master/mama/c_cpp/src/examples)
- [OpenMAMA Wiki](https://github.com/OpenMAMA/OpenMAMA/wiki)
- [OpenMAMA Documentation and Developers Guides](https://openmama.finos.org/documentation.html)
- [Solace’s Solution for OpenMAMA](https://solace.com/products/tech/)