コード例 #1
0
        private void receiveThreadFunc()
        {
            this.debugIt(true, "receiveThreadFunc", "====================start");
            while (true)
            {
                if (this.stopReceiveThreadFlag)
                {
                    break;
                }

                string received_data = this.binderObject.ReceiveData();
                string ajax_id_str   = received_data.Substring(0, Protocols.FabricFrontEndProtocolClass.AJAX_MAPING_ID_SIZE);
                string response_data = received_data.Substring(Protocols.FabricFrontEndProtocolClass.AJAX_MAPING_ID_SIZE);

                FrontEndJobClass job_entry = this.frontEndJobMgrObject.GetJobObject(ajax_id_str);
                if (job_entry == null)
                {
                    this.abendIt("receiveDataFromFabric", "null ajax_entry");
                    continue;
                }

                job_entry.WriteData(response_data);
            }

            this.debugIt(true, "receiveThreadFunc", "exit");
        }
コード例 #2
0
        public FrontEndJobClass GetJobObject(string ajax_id_str_val)
        {
            int index;

            var found = false;

            for (index = 0; index < this.maxJobArrayIndex; index++)
            {
                if (this.jobArray[index] != null)
                {
                    if (this.jobArray[index].ajaxIdStr == ajax_id_str_val)
                    {
                        found = true;
                        break;
                    }
                }
            }

            if (!found)
            {
                this.abendIt("getAjaxEntryObject", "not found" + ajax_id_str_val);
                return(null);
            }

            FrontEndJobClass element = this.jobArray[index];

            this.jobArray[index] = null;
            return(element);
        }
コード例 #3
0
        public FrontEndJobClass MallocJobObject()
        {
            this.incrementNextAvailableJobId();
            string           ajax_id_str       = PhwangUtils.EncodeNumberClass.EncodeNumber(this.nextAvailableJobId, Protocols.FabricFrontEndProtocolClass.AJAX_MAPING_ID_SIZE);
            FrontEndJobClass ajax_entry_object = new FrontEndJobClass(ajax_id_str);

            this.putJobObject(ajax_entry_object);
            return(ajax_entry_object);
        }
コード例 #4
0
        public string ProcessAjaxRequestPacket(string input_data_val)
        {
            this.debugIt(true, "ProcessAjaxRequestPacket", "input_data_val = " + input_data_val);
            FrontEndJobClass job_entry = this.frontEndJobMgrObject.MallocJobObject();

            this.binderObject.TransmitData(job_entry.ajaxIdStr + input_data_val);
            string response_data = job_entry.ReadData();

            this.debugIt(true, "ProcessAjaxRequestPacket", "response_data = " + response_data);
            return(response_data);
        }
コード例 #5
0
 public void putJobObject(FrontEndJobClass val)
 {
     for (var i = 0; i < this.maxJobArrayIndex; i++)
     {
         if (this.jobArray[i] == null)
         {
             this.jobArray[i] = val;
             return;
         }
     }
     this.jobArray[this.maxJobArrayIndex] = val;
     this.incrementMaxAjaxMapIndex();
 }