public static void ThreadRunner(Dictionary <TypeOfDialog, Dictionary <int, Se_AuthDialog> > p_auth_dialogs , ref Dictionary <TypeOfDialog, Dictionary <int, Se_UnAuthDialog> > p_unauth_dialogs, Dictionary <int, PrivateChat> p_all_private_chats , Dictionary <int, PublicChat> p_all_public_chats, ref Dictionary <int, AddAgreement> p_all_add_agreements, Dictionary <int, UserData> p_all_users_logged_in, List <int> p_all_threads, SendToDistributerConstruct p_send_to_distributer_construct, ReceiveFromServerWorkerConstruct p_receive_from_worker_construct , object p_distributer_pulse_object, object p_server_thread_pulse_object) { Server server = new Server(p_auth_dialogs, ref p_unauth_dialogs, p_all_private_chats, p_all_public_chats, ref p_all_add_agreements, p_all_users_logged_in , p_all_threads, p_send_to_distributer_construct, p_distributer_pulse_object); while (true) { lock (p_server_thread_pulse_object) { if (!p_receive_from_worker_construct.server_receive_queue_flag) { Monitor.Wait(p_server_thread_pulse_object); } if (p_receive_from_worker_construct.server_receive_quque.Count > 0) { MessageFromServerWorkerQueueObject message_for_server = p_receive_from_worker_construct.server_receive_quque.Dequeue(); if (p_receive_from_worker_construct.server_receive_quque.Count == 0) { p_receive_from_worker_construct.server_receive_queue_flag = false; } server.Receive(message_for_server); } else { p_receive_from_worker_construct.server_receive_queue_flag = false; } } } }
public void Receive(MessageFromServerWorkerQueueObject p_global_message_to_server_from_queue) { authenicate_and_distribute.Receive(p_global_message_to_server_from_queue); }