Просмотр исходного кода

Completed most of the event service functionality.

(Logical change 1.63)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@223 fd59a12c-fef9-0310-b244-a6a79926bd2f
Mark Haverkamp 21 лет назад
Родитель
Сommit
acba87e179
2 измененных файлов с 1476 добавлено и 66 удалено
  1. 1452 63
      exec/evt.c
  2. 24 3
      exec/evt.h

Разница между файлами не показана из-за своего большого размера
+ 1452 - 63
exec/evt.c


+ 24 - 3
exec/evt.h

@@ -14,7 +14,7 @@
  * - Redistributions in binary form must reproduce the above copyright notice,
  * - Redistributions in binary form must reproduce the above copyright notice,
  *   this list of conditions and the following disclaimer in the documentation
  *   this list of conditions and the following disclaimer in the documentation
  *   and/or other materials provided with the distribution.
  *   and/or other materials provided with the distribution.
- * - Neither the name of the MontaVista Software, Inc. nor the names of its
+ * - Neither the name of the Open Source Developent Lab nor the names of its
  *   contributors may be used to endorse or promote products derived from this
  *   contributors may be used to endorse or promote products derived from this
  *   software without specific prior written permission.
  *   software without specific prior written permission.
  *
  *
@@ -39,11 +39,32 @@
 
 
 extern struct service_handler evt_service_handler;
 extern struct service_handler evt_service_handler;
 
 
+/*
+ * event instance structure. Contains information about the
+ * active connection to the API library.
+ *
+ * esi_version:				Version that the library is running.
+ * esi_open_chans:			list of open channels associated with this
+ * 							instance.  Used to clean up any data left
+ * 							allocated when the finalize is done.
+ * 							(event_svr_channel_open.eco_instance_entry)
+ * esi_events:				list of pending events to be delivered on this 
+ *  						instance (struct chan_event_list.cel_entry)
+ * esi_queue_blocked:		non-zero if the delivery queue got too full
+ * 							and we're blocking new messages until we
+ * 							drain some of the queued messages.
+ * esi_nevents:				Number of events in events lists to be sent.
+ * esi_hdb:					Handle data base for open channels on this
+ * 							instance.  Used for a quick lookup of
+ * 							open channel data from a lib api message.
+ */
 struct libevt_ci {
 struct libevt_ci {
 	SaVersionT				esi_version;
 	SaVersionT				esi_version;
-	uint32_t				esi_notify;
 	struct list_head		esi_open_chans;
 	struct list_head		esi_open_chans;
-	struct list_head		esi_events;
+	struct list_head		esi_events[SA_EVT_LOWEST_PRIORITY+1];
+	int						esi_nevents;
+	int						esi_queue_blocked;
 	struct saHandleDatabase	esi_hdb;
 	struct saHandleDatabase	esi_hdb;
 };
 };
+
 #endif
 #endif

Некоторые файлы не были показаны из-за большого количества измененных файлов