public static string submit_Via_REST(this API_Firebase firebase, API_Firebase.SubmitData submitData) { var result = ""; if (submitData.notNull()) { try { switch (submitData.Type) { case API_Firebase.Submit_Type.GET: result = firebase.GET(); break; case API_Firebase.Submit_Type.ADD: result = firebase.POST(submitData.Data); break; case API_Firebase.Submit_Type.SET: result = firebase.PUT(submitData.Data); break; } } catch (Exception ex) { ex.log("[API_Firebase] [submit_Via_REST] for: {0}".format(submitData)); } if (result.notValid()) // this could happen in the cases where the SSL failed to connect { firebase.offlineQueue().add(submitData); } } return(result); }
public override Log_Item logItem(Log_Item item) { if (TM_UserData.Current.firebase_Log_DebugMsg()) { var submitData = new API_Firebase.SubmitData(item, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } return item; }
public override Log_Item logItem(Log_Item item) { if (TM_UserData.Current.firebase_Log_DebugMsg()) { var submitData = new API_Firebase.SubmitData(item, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } return(item); }
public UserActivity logActivity(UserActivity userActivity) { if(TM_UserData.Current.firebase_Log_Activities()) { var submitData = new API_Firebase.SubmitData(userActivity, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } return userActivity; }
public UserActivity logActivity(UserActivity userActivity) { if (TM_UserData.Current.firebase_Log_Activities()) { var submitData = new API_Firebase.SubmitData(userActivity, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } return(userActivity); }
public static API_Firebase add(this API_Firebase firebase, API_Firebase.SubmitData submitData) { if (firebase.notNull() && submitData.notNull()) { firebase.submitThread_Start(); // start a new SubmitThread (if there isn't one alive already) firebase.SubmitQueue.add(submitData); // queues the request for submition } return(firebase); }
public static API_Firebase.SubmitData next(this BlockingCollection <API_Firebase.SubmitData> submitQueue, int maxWait) { if (submitQueue.notNull())// && submitData.notNull()) { API_Firebase.SubmitData nextItem = null; submitQueue.TryTake(out nextItem, maxWait); return(nextItem); } return(null); }
public Log_Request logRequest() { var logRequest = new Log_Request(); if(TM_UserData.Current.firebase_Log_RequestUrls()) { var submitData = new API_Firebase.SubmitData(logRequest, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } //apiFirebase.push(logRequest); return logRequest; }
public Log_Request logRequest() { var logRequest = new Log_Request(); if (TM_UserData.Current.firebase_Log_RequestUrls()) { var submitData = new API_Firebase.SubmitData(logRequest, API_Firebase.Submit_Type.ADD); apiFirebase.submit(submitData); } //apiFirebase.push(logRequest); return(logRequest); }
public void Test_BlockingCollection_Behaviour() { var submitQueue = new BlockingCollection<API_Firebase.SubmitData>(); Assert.AreEqual(0, submitQueue.size()); var submitData1 = new API_Firebase.SubmitData(); var submitData2 = new API_Firebase.SubmitData(); var submitData3 = new API_Firebase.SubmitData(); var submitData4 = new API_Firebase.SubmitData(); submitQueue.add(submitData1); Assert.AreEqual(1, submitQueue.size()); O2Thread.mtaThread(()=> { submitQueue.add(submitData2); 10.sleep(); submitQueue.add(submitData3); 10.sleep(); submitQueue.add(submitData4); }); //note how the next() (i.e. the Take() method) will wait for the data to be available 5.sleep(); Assert.AreEqual(submitQueue.size(), 2); Assert.AreEqual(submitQueue.next(), submitData1); Assert.AreEqual(submitQueue.next(), submitData2); Assert.AreEqual(submitQueue.next(1), null); // with 1 ms wait Assert.AreEqual(submitQueue.size(), 0); Assert.AreEqual(submitQueue.next(), submitData3); Assert.AreEqual(submitQueue.size(),0); Assert.AreEqual(submitQueue.next(1), null); // with 1 ms wait Assert.AreEqual(submitQueue.next(), submitData4); //test nulls var currentCount = submitQueue.size(); submitQueue.add(null); Assert.AreEqual(currentCount, submitQueue.size()); Assert.IsNull((null as BlockingCollection<API_Firebase.SubmitData>).add(null)); Assert.IsNull((null as BlockingCollection<API_Firebase.SubmitData>).add(new API_Firebase.SubmitData())); Assert.IsNull((null as BlockingCollection<API_Firebase.SubmitData>).next()); }
public void SubmitData_Ctor() { var data = new List<object> { 10.randomLetters(), 10.randomLetters(), 10000.random()}; var type = API_Firebase.Submit_Type.SET; var submitData1 = new API_Firebase.SubmitData(); var submitData2 = new API_Firebase.SubmitData(data, type); Assert.AreEqual(submitData1.Data , null); Assert.AreEqual(submitData1.Json_Data, null); Assert.AreEqual(submitData1.Type , API_Firebase.Submit_Type.ADD); Assert.AreEqual(submitData2.Data , data); Assert.AreEqual(submitData2.Json_Data, data.json()); Assert.AreEqual(submitData2.Type , type); }
public void Test_SubmitThread_Offline_Behaviour() { Assert.IsFalse (firebase.offline()); firebase.Offline = true; Assert.IsTrue (firebase.offline()); Assert.AreEqual(firebase.offlineQueue(), firebase.OfflineQueue); var submitData1 = new API_Firebase.SubmitData(); var submitData2 = new API_Firebase.SubmitData(); var submitData3 = new API_Firebase.SubmitData(); Assert.AreEqual(firebase.offlineQueue().size(),0); firebase.submit(submitData1); firebase.submit(submitData2); firebase.SubmitThread.Join(); if(firebase.offlineQueue().size() >0) Assert.AreEqual(firebase.offlineQueue().size(),2); firebase.submit(submitData3); firebase.submit(submitData2); firebase.submit(submitData1); firebase.SubmitThread.Join(); Assert.AreEqual(firebase.offlineQueue().size(), 5); Assert.AreEqual(firebase.offlineQueue().next(), submitData1); Assert.AreEqual(firebase.offlineQueue().next(), submitData2); Assert.AreEqual(firebase.offlineQueue().next(), submitData3); Assert.AreEqual(firebase.offlineQueue().next(), submitData2); Assert.AreEqual(firebase.offlineQueue().next(), submitData1); Assert.AreEqual(firebase.offlineQueue().size(), 0); }
public void Test_SubmitThread_Behaviour() { Assert.AreEqual(firebase.submitQueue_Size(), 0); Assert.IsFalse (firebase.submitThread_Alive()); var submitData = new API_Firebase.SubmitData("data", API_Firebase.Submit_Type.GET); //send one submitData firebase.add(submitData); if (firebase.submitThread_Alive()) { if(firebase.submitQueue_Size() > 0) firebase.SubmitThread.Join(); //let the queue handle it } Assert.AreEqual(firebase.submitQueue_Size(), 0); Assert.IsFalse (firebase.submitThread_Alive()); //send threee submitData firebase.add(submitData); firebase.add(submitData); firebase.add(submitData); if (firebase.submitQueue_Size()!=0) // in case they were already handled (can happen on UnitTests) { Assert.AreEqual(firebase.submitQueue_Size(), 3); Assert.IsTrue (firebase.submitThread_Alive()); } //let the queue handle it firebase.SubmitThread.join(); Assert.AreEqual(firebase.submitQueue_Size(), 0); Assert.IsFalse (firebase.submitThread_Alive()); }
public static BlockingCollection <API_Firebase.SubmitData> add(this BlockingCollection <API_Firebase.SubmitData> submitQueue, API_Firebase.SubmitData submitData) { if (submitQueue.notNull() && submitData.notNull()) { submitQueue.Add(submitData); } return(submitQueue); }
public static API_Firebase submit(this API_Firebase firebase, API_Firebase.SubmitData submitData) { return(firebase.add(submitData)); }