Example #1
0
        public void CanMapActFromSchemaToMessage()
        {
            Hml.Schema.Action schema = new Hml.Schema.Action
            {
                Entity = new Hml.Schema.Identity {
                    Value = "ObserveEntity"
                },
                Actionable = new Hml.Schema.Identity {
                    Value = "ActionableValue"
                },
                Actor = new Hml.Schema.Identity {
                    Value = "ActionableActor"
                },
                ParameterValues = new[]
                {
                    new Hml.Schema.ParameterValue
                    {
                        Measurement = new Hml.Schema.Measurement
                        {
                            Type  = Hml.Schema.MeasurementType.Kilogram,
                            Value = "3.0"
                        }
                    }
                }
            };

            Message.IMessage message = _subject.ToMessage(schema);

            Assert.IsInstanceOfType(message, typeof(Message.IAction));
            Assert.AreEqual <string>("ObserveEntity", ((Message.IAction)message).Entity.Value);
            Assert.AreEqual <string>("ActionableValue", ((Message.IAction)message).Actionable.Value);
            Assert.AreEqual <string>("ActionableActor", ((Message.IAction)message).Actor.Value);
        }
Example #2
0
 public void RequestDB(Message.IMessage msg, LibServer.Common.CustomArgs args)
 {
     if (_DBHandler == null)
     {
         return;
     }
     _DBHandler.addTask(msg.OnDBTask, args);
 }
Example #3
0
        public void CanMapRegisterOfEmptyEntityFromSchemaToMessage()
        {
            Hml.Schema.Register schema = new Hml.Schema.Register
            {
                Registrar = new Hml.Schema.Identity {
                    Value = "RegistrarIdentity"
                },
                Entity = EmptytEntity
            };

            Message.IMessage message = _subject.ToMessage(schema);

            Assert.IsInstanceOfType(message, typeof(Message.IRegister));
            Assert.AreEqual <string>("RegistrarIdentity", ((Message.IRegister)message).Registrar.Value);
        }
Example #4
0
        public void CanMapRegisterOfFullyPopulatedEntityFromSchemaToMessage()
        {
            Hml.Schema.Register schema = new Hml.Schema.Register
            {
                Registrar = new Hml.Schema.Identity {
                    Value = "Registrar"
                },
                Entity = FullPopulatedEntity
            };

            Message.IMessage message = _subject.ToMessage(schema);

            Assert.IsInstanceOfType(message, typeof(Message.IRegister));
            Assert.AreEqual <string>("Registrar", ((Message.IRegister)message).Registrar.Value);
            Assert.IsNotNull(((Message.IRegister)message).Entity);
        }
Example #5
0
        public void CanMapDegisterFromSchemaToMessage()
        {
            Hml.Schema.Deregister schema = new Hml.Schema.Deregister
            {
                Registrar = new Hml.Schema.Identity {
                    Value = "Registrar"
                },
                Entity = new Hml.Schema.Identity {
                    Value = "DeregisteredEntity"
                }
            };

            Message.IMessage message = _subject.ToMessage(schema);

            Assert.IsInstanceOfType(message, typeof(Message.IDeregister));
            Assert.AreEqual <string>("Registrar", ((Message.IDeregister)message).Registrar.Value);
            Assert.AreEqual <string>("DeregisteredEntity", ((Message.IDeregister)message).Entity.Value);
        }
Example #6
0
        /// <summary>
        /// 数据接收
        /// </summary>
        public void OnRequestReceived(ClientSession session, BinaryRequestInfo requestInfo)
        {
            ByteBuffer buffer    = new ByteBuffer(requestInfo.Body);
            int        commandId = buffer.ReadShort();

            Message.Protocal c         = (Message.Protocal)commandId;
            string           className = "LibServer.GameServer.Message." + c;

            Console.WriteLine("OnRequestReceived--->>>" + className);

            Type t = Type.GetType(className);

            Message.IMessage obj = (Message.IMessage)Activator.CreateInstance(t);
            if (obj != null)
            {
                obj.OnMessage(session, buffer);
            }
            obj = null; t = null;   //释放内存
        }
Example #7
0
        public void CanMapObserveFromSchemaToMessage()
        {
            Hml.Schema.Observe schema = new Hml.Schema.Observe
            {
                Entity = new Hml.Schema.Identity {
                    Value = "ObserveEntity"
                },
                Observable = new Hml.Schema.Identity {
                    Value = "ObservableValue"
                },
                Observer = new Hml.Schema.Identity {
                    Value = "ObservableObserver"
                }
            };

            Message.IMessage message = _subject.ToMessage(schema);

            Assert.IsInstanceOfType(message, typeof(Message.IObserve));
            Assert.AreEqual <string>("ObserveEntity", ((Message.IObserve)message).Entity.Value);
            Assert.AreEqual <string>("ObservableValue", ((Message.IObserve)message).Observable.Value);
            Assert.AreEqual <string>("ObservableObserver", ((Message.IObserve)message).Observer.Value);
        }
Example #8
0
 void IObserver <With.Message.IMessage> .OnNext(Message.IMessage value)
 {
     _messages.OnNext(value);
 }
Example #9
0
 public void outputMessageHandlerError(System.Exception e, Message.IMessage message)
 {
     this.sink.outputMessage($"Error handling {message.ToString()}: ${e.ToString()}");
 }