public async Task Cleanup()
        {
            if (logger.IsEnabled(LogLevel.Debug))
            {
                logger.LogDebug("Cleanup() called");
            }

            myExtension?.RemoveStream(stream.InternalStreamId);

            if (isDisposed)
            {
                return;
            }

            if (connectedToRendezvous)
            {
                try
                {
                    await pubSub.UnregisterProducer(stream.InternalStreamId, myGrainReference);

                    connectedToRendezvous = false;
                }
                catch (Exception exc)
                {
                    logger.LogWarning(
                        (int)ErrorCode.StreamProvider_ProducerFailedToUnregister,
                        exc,
                        "Ignoring unhandled exception during PubSub.UnregisterProducer");
                }
            }
            isDisposed = true;

            Action onDisposeTestHook = OnDisposeTestHook; // capture

            if (onDisposeTestHook != null)
            {
                onDisposeTestHook();
            }
        }
Esempio n. 2
0
        public async Task Cleanup()
        {
            if (logger.IsVerbose)
            {
                logger.Verbose("Cleanup() called");
            }

            myExtension.RemoveStream(stream.StreamId);

            if (isDisposed)
            {
                return;
            }

            if (connectedToRendezvous)
            {
                try
                {
                    await pubSub.UnregisterProducer(stream.StreamId, streamProviderName, myGrainReference);

                    connectedToRendezvous = false;
                }
                catch (Exception exc)
                {
                    logger.Warn((int)ErrorCode.StreamProvider_ProducerFailedToUnregister,
                                "Ignoring unhandled exception during PubSub.UnregisterProducer", exc);
                }
            }
            isDisposed = true;

            Action onDisposeTestHook = OnDisposeTestHook; // capture

            if (onDisposeTestHook != null)
            {
                onDisposeTestHook();
            }
        }