Example #1
0
        public ServerModuleProxy(ServermoduleID servermoduleID)
        {
            //    this.mainProxy = MainProxy.INSTANCE;
            this.serverModuleID = servermoduleID;
            this.callIDManager  = CallIDManager.INSTANCE;

            this.reqSocket = new RequestSocket("tcp://" + NetMqUtil.SERVER_MODULE_IP + ":" + NetMqUtil.SERVER_MODULE_PORT);
        }
        public static NetMQMessage GenerateResponse(ServermoduleID servermoduleID, CallID callID, object obj)
        {
            var message = GenerateBaseMessage(servermoduleID.ID, callID.ID);

            if (null == obj)
            {
                message.Append(GetFrame(ProtocolConstants.RESPONDE_NULL));
            }
            else
            {
                var jsonString = ConvertToJson(obj);
                message.Append(GetFrame(jsonString));
            }

            return(message);
        }
Example #3
0
        public static Tuple <T, Tuple <ServermoduleID, CallID> > DecodeResponse <T>(NetMQMessage message)
        {
            var servermoduleID = new ServermoduleID()
            {
                ID = Convert.ToInt32(message.Pop().ConvertToString())
            };
            var callID = new CallID()
            {
                ID = Convert.ToInt32(message.Pop().ConvertToString())
            };

            var jsonObject     = message.Pop().ConvertToString();
            var responseObject = ConvertToObjectFromJsonString <T>(jsonObject);

            return(new Tuple <T, Tuple <ServermoduleID, CallID> >(responseObject, new Tuple <ServermoduleID, CallID>(servermoduleID, callID)));
        }
        public static NetMQMessage GenerateServerModuleMethodMessage(ServermoduleID servermoduleID, CallID callID, ServerMethod method)
        {
            var baseMessage = GenerateBaseMessage(servermoduleID.ID, callID.ID);

            if (method is HelloWorldMethod)
            {
                return(GenerateHelloWorldMessage(baseMessage, (HelloWorldMethod)method));
            }
            else if (method is RegisterServermoduleMethod)
            {
                return(GenerateRegisterServermoduleMessage(baseMessage, (RegisterSlaveOwnerServermoduleMethod)method));
            }


            throw new MethodFailedException();
        }