Example #1
0
        /// <summary>
        /// Answers a <c>Protocols</c> that provides one or more supported <paramref name="protocols"/> for the
        /// newly created <c>Actor</c> according to <paramref name="definition"/>.
        /// </summary>
        /// <param name="protocols">The array of protocols that the <c>Actor</c> supports.</param>
        /// <param name="definition">The <c>Definition</c> providing parameters to the<c>Actor</c>.</param>
        /// <returns></returns>
        public Protocols ActorFor(Type[] protocols, Definition definition)
        {
            if (IsTerminated)
            {
                throw new InvalidOperationException("vlingo-net/actors: Stopped.");
            }

            return(Stage.ActorFor(protocols, definition));
        }
Example #2
0
        /// <summary>
        /// Answers a <c>Protocols</c> that provides one or more supported <paramref name="protocols"/> for the
        /// newly created <c>Actor</c> according to <paramref name="definition"/>.
        /// </summary>
        /// <param name="protocols">The array of protocols that the <c>Actor</c> supports.</param>
        /// <param name="type">The type of the <code>Actor</code> to be created.</param>
        /// <param name="parameters">The constructor parameters for the <code>Actor</code>.</param>
        /// <returns></returns>
        public Protocols ActorFor(Type[] protocols, Type type, params object[] parameters)
        {
            if (IsTerminated)
            {
                throw new InvalidOperationException("vlingo-net/actors: Stopped.");
            }

            return(Stage.ActorFor(protocols, type, parameters));
        }
Example #3
0
        /// <summary>
        /// Answers the <typeparamref name="T"/> protocol of the newly created <code>Actor</code> that implements the <code>protocol</code>.
        /// </summary>
        /// <typeparam name="T">The protocol.</typeparam>
        /// <param name="type">The type of the <code>Actor</code>.</param>
        /// <param name="parameters">Constructor parameters for the <code>Actor</code>.</param>
        /// <returns></returns>
        public T ActorFor <T>(Type type, params object[] parameters)
        {
            if (IsTerminated)
            {
                throw new InvalidOperationException("vlingo/actors: Stopped.");
            }

            return(Stage.ActorFor <T>(type, parameters));
        }
Example #4
0
        /// <summary>
        /// Answers a new concrete <c>Actor</c> that is defined by the parameters of <paramref name="definition"/>
        /// and supports the protocol defined by <typeparamref name="T"/> protocol.
        /// </summary>
        /// <typeparam name="T">The protocol type.</typeparam>
        /// <param name="definition">The <c>Definition</c> providing parameters to the<c>Actor</c>.</param>
        /// <returns></returns>
        public T ActorFor <T>(Definition definition)
        {
            if (IsTerminated)
            {
                throw new InvalidOperationException("vlingo-net/actors: Stopped.");
            }

            return(Stage.ActorFor <T>(definition));
        }
        /// <summary>
        /// Answers a <c>Protocols</c> that provides one or more supported <paramref name="protocols"/> for the
        /// newly created <c>Actor</c> according to <paramref name="definition"/>.
        /// </summary>
        /// <param name="definition">The <c>Definition</c> providing parameters to the<c>Actor</c>.</param>
        /// <param name="protocols">The array of protocols that the <c>Actor</c> supports.</param>
        /// <returns></returns>
        public Protocols ActorFor(Definition definition, Type[] protocols)
        {
            if (IsTerminated)
            {
                throw new InvalidOperationException("vlingo/actors: Stopped.");
            }

            return(Stage.ActorFor(definition, protocols));
        }