Example #1
0
        private static int Main(string[] args)
        {
            Assembly.Load("GeneratedCode");
            var loop = new Example.Loop();
            var e    = Astrum.Item.Manager.Create(0);

            Astrum.Item.Manager.Publish(e, loop);
            loop.Connect(args[1], Convert.ToUInt16(args[2]), WorkerType);
            return(0);
        }
Example #2
0
        public static async Task <CreateEntityResponseOp> Publish(Entity e, Example.Loop loop)
        {
            var   t  = new TaskCompletionSource <CreateEntityResponseOp>();
            ulong cb = 0;

            loop.Execute((view, connection) =>
            {
                var req = connection.SendCreateEntityRequest(e, null, 100);
                cb      = view.OnCreateEntityResponse(op =>
                {
                    if (op.RequestId != req)
                    {
                        return;
                    }
                    t.SetResult(op);
                });
            });
            var result = await t.Task;

            Console.WriteLine("Entity published " + result.EntityId);
            loop.Execute((view, conn) => view.Remove(cb));
            return(result);
        }