static void Main(string[] args) { Request req1 = new Request("yang", "passwwwww1", "hahah", RequestType.CreateUser, "yang"); // Test AuthRequestManager authrequestmanager = new AuthRequestManager(); authrequestmanager.EnqueueRequest(req1); authrequestmanager.CreateAuthManager(); // Create another AuthManager to test if they can get the contents of the first Authmanager authrequestmanager.CreateAuthManager(); authrequestmanager.CreateAuthManager(); // Push more requests to see how the two queues handle them Request req2 = new Request("yu", "passwwwww2", "hoho", RequestType.CreateUser, "yu"); Request req3 = new Request("yukan", "passwwwww3", "hehe", RequestType.CreateUser, "yukan"); Request req4 = new Request("guokang", "passwwwww4", "huhu", RequestType.CreateUser, "guokang"); authrequestmanager.EnqueueRequest(req2); authrequestmanager.EnqueueRequest(req3); authrequestmanager.EnqueueRequest(req4); Thread.Sleep(5000); // Now let's push some login requests req1 = new Request("yang", "passwwwww1", "hahah", RequestType.Authenticate, "yang"); authrequestmanager.EnqueueRequest(req1); Thread.Sleep(5000); req1 = new Request("yang", "passwwwww1", "hahah", RequestType.Validate, "yang"); authrequestmanager.EnqueueRequest(req1); authrequestmanager.EnqueueRequest(req1); authrequestmanager.EnqueueRequest(req1); // req2 = new Request("yu", "passwwwww2", "hoho", RequestType.Authenticate, "yu"); // req3 = new Request("yukan", "passwwwww3", "hehe", RequestType.Authenticate, "yukan"); // authrequestmanager.EnqueueRequest(req2); // authrequestmanager.EnqueueRequest(req3); }
public SynchronizeRequest(Request m_SynRequest, int m_SynSendID, DateTime m_SynExpTime) { m_Request = m_SynRequest; m_SenderID = m_SynSendID; m_ExpTime = m_SynExpTime; }
// This function is for testing only, will be removed future public void EnqueueRequest(Request req1) { m_RequestQueue.enQ(req1); }
private void ProcessRequest(Request req, out ReturnRequest retreq, out SynchronizeRequest syncreq) { AuthImplement authimplement = new AuthImplement(m_AuthManager); string token = ""; DateTime exptime = DateTime.Now; bool result = false; AuthResult authret = new AuthResult(); switch (req.m_RequestType) { case RequestType.Authenticate: authret = authimplement.Authenticate(req.m_Username, req.m_Password, out token); authimplement.Validate(token, out exptime); req.m_Token = token; break; case RequestType.CreateUser: authret = authimplement.CreateUser(req.m_Username, req.m_Password, token); break; case RequestType.IsAdmin: break; case RequestType.Validate: result = authimplement.Validate(req.m_Token, out exptime); break; } // Make the ReturnRequest and SynchronizeRequest object retreq = new ReturnRequest(authret, token, exptime, result, req.m_Signature); syncreq = new SynchronizeRequest(req, m_ID, exptime); }