Exemplo n.º 1
0
 public Protocols ActorFor(Definition definition, Type[] protocols)
 => new Protocols(ActorProtocolFor(
                      definition,
                      protocols,
                      definition.ParentOr(World.DefaultParent),
                      definition.Supervisor,
                      definition.LoggerOr(World.DefaultLogger)));
Exemplo n.º 2
0
        public TestActor <T> TestActorFor <T>(Definition definition)
        {
            var redefinition = Definition.Has(
                definition.Type,
                definition.Parameters(),
                TestMailbox.Name,
                definition.ActorName);

            try
            {
                return(ActorProtocolFor <T>(
                           redefinition,
                           definition.ParentOr(World.DefaultParent),
                           null,
                           null,
                           definition.Supervisor,
                           definition.LoggerOr(World.DefaultLogger)).ToTestActor());
            }
            catch (Exception e)
            {
                World.DefaultLogger.Log($"vlingo-net/actors: FAILED: {e.Message}", e);
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                return(null);
            }
        }
Exemplo n.º 3
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="definition">The <c>Definition</c> providing parameters to the <c>Actor</c>.</param>
        /// <param name="protocols">The array of protocol that the <c>Actor</c> supports.</param>
        /// <returns>A <see cref="Protocols"/> instance.</returns>
        public Protocols ActorFor(Definition definition, Type[] protocols)
        {
            var all = ActorProtocolFor(
                definition,
                protocols,
                definition.ParentOr(World.DefaultParent),
                definition.Supervisor,
                definition.LoggerOr(World.DefaultLogger));

            return(new Protocols(ActorProtocolActor <object> .ToActors(all)));
        }
Exemplo n.º 4
0
        public T ActorFor <T>(Definition definition, Address address)
        {
            var actor = ActorProtocolFor <T>(
                definition,
                definition.ParentOr(World.DefaultParent),
                address,
                null,
                definition.Supervisor,
                definition.LoggerOr(World.DefaultLogger));

            return(actor.ProtocolActor);
        }
Exemplo n.º 5
0
        public T ActorThunkFor <T>(Definition definition, IAddress?address)
        {
            var actorMailbox = AllocateMailbox(definition, address, null);
            var actor        =
                ActorProtocolFor <T>(
                    definition,
                    definition.ParentOr(World.DefaultParent),
                    address,
                    actorMailbox,
                    definition.Supervisor,
                    definition.LoggerOr(World.DefaultLogger));

            return(actor !.ProtocolActor);
        }
Exemplo n.º 6
0
        internal Protocols TestActorFor(Definition definition, Type[] protocols)
        {
            var redefinition = Definition.Has(
                definition.Type,
                definition.Parameters(),
                TestMailbox.Name,
                definition.ActorName);

            var all = ActorProtocolFor(
                redefinition,
                protocols,
                definition.ParentOr(World.DefaultParent),
                null,
                null,
                definition.Supervisor,
                definition.LoggerOr(World.DefaultLogger));

            return(new Protocols(ActorProtocolActor <object> .ToTestActors(all, protocols)));
        }
Exemplo n.º 7
0
 public T ActorFor <T>(Definition definition)
 => ActorFor <T>(
     definition,
     definition.ParentOr(World.DefaultParent),
     definition.Supervisor,
     definition.LoggerOr(World.DefaultLogger));