...

Source file src/solace.dev/go/messaging/pkg/solace/doc.go

Documentation: solace.dev/go/messaging/pkg/solace

     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