示例#1
0
 public void Deserialize(CompactReader reader)
 {
     type         = reader.ReadByte();
     id           = reader.ReadInt64();
     rsp_expected = reader.ReadBoolean();
     reqStatus    = reader.ReadObject() as RequestStatus;
     status_reqId = reader.ReadInt64();
     //name = reader.ReadString();
     //call_stack = (System.Collections.ArrayList)reader.ReadObject();
     //byte[] arr = (byte[])reader.ReadObject();
     //dest_mbrs = arr != null ?(System.Collections.IList)CompactBinaryFormatter.FromByteBuffer(arr, null): null;
     //dest_mbrs = (System.Collections.IList)reader.ReadObject();
     dest_mbrs          = (System.Collections.ArrayList)reader.ReadObject();
     doProcess          = reader.ReadBoolean();
     whomToReply        = (Address)reader.ReadObject();
     expectResponseFrom = (Address)reader.ReadObject();
 }
示例#2
0
        private void MarkRequestArrived(long requestId, Address node)
        {
            Hashtable nodeStatusTable = null;
            RequestStatus status = new RequestStatus(requestId);
            status.MarkReceived();

            lock (_reqStatusTable.SyncRoot)
            {
                nodeStatusTable = _reqStatusTable[node] as Hashtable;
                if (nodeStatusTable == null)
                {
                    nodeStatusTable = new Hashtable();
                    _reqStatusTable.Add(node, nodeStatusTable);
                }
                nodeStatusTable[requestId] = status;
            }
        }
示例#3
0
            public void Deserialize(CompactReader reader)
			{
				type = reader.ReadByte();
				id = reader.ReadInt64();
				rsp_expected = reader.ReadBoolean();
                reqStatus = reader.ReadObject() as RequestStatus;
                status_reqId = reader.ReadInt64();
				
                dest_mbrs = (System.Collections.ArrayList)reader.ReadObject();
                doProcess = reader.ReadBoolean();
                whomToReply = (Address)reader.ReadObject();
                expectResponseFrom = (Address)reader.ReadObject();
			}