1 // pubsubplus-go-client 2 // 3 // Copyright 2021-2024 Solace Corporation. All rights reserved. 4 // 5 // Licensed under the Apache License, Version 2.0 (the "License"); 6 // you may not use this file except in compliance with the License. 7 // You may obtain a copy of the License at 8 // 9 // http://www.apache.org/licenses/LICENSE-2.0 10 // 11 // Unless required by applicable law or agreed to in writing, software 12 // distributed under the License is distributed on an "AS IS" BASIS, 13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 // See the License for the specific language governing permissions and 15 // limitations under the License. 16 17 // Package solace contains the main type definitions for the various messaging services. 18 // You can use MessagingServiceBuilder to create a client-based messaging service. 19 // If you want to use secure socket layer (SSL) endpoints, OpenSSL 1.1.1 must installed on the systems 20 // that run your client applications. Client applications secure connections to an event broker (or broker) using 21 // SSL endpoints. For example on PubSub+ software event brokers, you can use 22 // SMF TLS/SSL (default port of 55443) and Web Transport TLS/SSL connectivity (default port 1443) 23 // for messaging. The ports that are utilized depends on the configuration broker. 24 // 25 // For an overview of TLS/SSL Encryption, see TLS/SSL Encryption Overview in the Solace documentation 26 // at https://docs.solace.com/Overviews/TLS-SSL-Message-Encryption-Overview.htm. 27 // 28 // MessageServiceBuilder is retrieved through 29 // the messaging package as follows. 30 // 31 // package main 32 // 33 // import solace.dev/go/messaging 34 // import solace.dev/go/messaging/pkg/solace 35 // 36 // func main() { 37 // var messagingServiceBuilder solace.MessagingServiceBuilder 38 // messagingServiceBuilder = messaging.NewMessagingServiceBuilder() 39 // messagingService, err := messagingServiceBuilder.Build() 40 // ... 41 // } 42 // 43 // Before the MessagingService is created, global properties can be set by environment variable. The 44 // following environment variables are recognized and handled during API initialization: 45 // 46 // - SOLCLIENT_GLOBAL_PROP_GSS_KRB_LIB: GSS (Kerberos) library name. If not set the default value is OS specific 47 // 48 // - Linux/MacOS: libgssapi_krb5.so.2 49 // 50 // - Windows: secur32.dll 51 // 52 // - SOLCLIENT_GLOBAL_PROP_SSL_LIB: TLS Protocol library name. If not set the default value is OS specific: 53 // 54 // - Linux: libssl.so 55 // 56 // - MacOS: libssl.dylib 57 // 58 // - Windows: libssl-1_1.dll 59 // 60 // - SOLCLIENT_GLOBAL_PROP_CRYPTO_LIB: TLS Cryptography library name. If not set the default value is OS specific: 61 // 62 // - Linux: libcrypto.so 63 // 64 // - MacOS: libcrypto.dylib 65 // 66 // - Windows: libcrypto-1_1.dll- 67 // 68 // - GLOBAL_GSS_KRB_LIB: Alternate name for SOLCLIENT_GLOBAL_PROP_GSS_KRB_LIB 69 // 70 // - GLOBAL_SSL_LIB: Alternate name for SOLCLIENT_GLOBAL_PROP_SSL_LIB 71 // 72 // - GLOBAL_CRYPTO_LIB: Alternate name for SOLCLIENT_GLOBAL_PROP_CRYPTO_LIB 73 package solace 74