/* ************************************************************** */
        #region Public Functions


        /// <summary>
        /// Activate a subscription that has been set up by calling the setup function.
        /// Subscription creation actually occurs on the throttle queue. An individual
        /// subscription cannot be assumed to be fully created until its onCreate callback
        /// has been successfully invoked. The subscription rate can be governed via the
        /// MamaTransport.setOutboundThrottle function.
        /// Any subscription properties should be set prior to calling this function.
        /// </summary>
        public void activate()
        {
            // Ensure that the subscription has been created
            EnsurePeerCreated();

            // Call the native layer
            CheckResultCode(SubscriptionNativeMethods.mamaSubscription_activate(NativeHandle));
        }