A Brief Overview of the Concepts of CEP

 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Complex Event Processing RSS News A Brief Overview of the Concepts of CEP
# 1  
Old 07-29-2008
A Brief Overview of the Concepts of CEP

by David Luckham The demand for processing higher level events, often called business events,has expanded rapidly over the past three or four years. In writing a short history of the development of CEP to meet the demands of these new markets, I have needed to refer often to a set of concepts that forms the core [...]

More...
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Linux

Linux Operating system concepts

hi guys, i got job recently in a company which provide a product for data backup and data recovery... as dis product is wrriten in c++ am workin in c++.. now am under training and i want to learn abt Operating System concepts and OS programming using c and c++. i know basic c and c++ programming... (3 Replies)
Discussion started by: senthil.march
3 Replies

2. UNIX for Dummies Questions & Answers

Unix concepts help

Team, I am working in unix perl . i have come across scenarios where there are lots of unix concepts are being used. For example, Handle, pipes, forking ,data sharing between processes,parallel processing and so on. I need some conceptual explanation about the unix system . I... (5 Replies)
Discussion started by: mdsaleemj
5 Replies

3. Programming

Hash tables concepts

How hash tables are used to quickly locate a data record? (4 Replies)
Discussion started by: rupeshkp728
4 Replies

4. Solaris

RAID concepts.

can anyone explain me the RAID concepts clearly. I studied some book bt i didnt get any clear idea. (4 Replies)
Discussion started by: rogerben
4 Replies

5. Programming

Performance engineering concepts

Hello, I would like get idea about performance enginering from basic to advanced level. Do anyone know a place where i can find some videos related to performance engineering ? (5 Replies)
Discussion started by: shafi2all
5 Replies

6. Linux

Help regarding understanding of i18N and L10N concepts

Hi everyone, I would like to have good understanding of i18N & L10N implementations in Linux. What does it mean actually,interms of software development? Where it is used and how it is used? It would be more helpful to me, if anyone send me the links to "basics of i18N... (0 Replies)
Discussion started by: Aeon
0 Replies

7. AIX

Confused with File System Concepts

Hello, I've been reading the AIX 5.1 System Concepts PDF but I'm still confused about some file-system concepts and their relationships. What is the 'allocation group size'? How are 'disk allocation unit'/'fragment size', NBPI and 'allocation group size'? And how are the above three... (2 Replies)
Discussion started by: quickfirststep
2 Replies
Login or Register to Ask a Question
xpc_events(3)						   BSD Library Functions Manual 					     xpc_events(3)

NAME
xpc_events -- launch-on-demand for high-level events SYNOPSIS
#include <xpc/xpc.h> void xpc_set_event_stream_handler(const char *name, dispatch_queue_t targetq, xpc_handler_t handler); DESCRIPTION
XPC provides a mechanism by which launchd jobs may launch on-demand for certain higher-level events, such as IOKit events or BSD Notifica- tions. These events are delivered to the job through a handler that is set early in its execution. The period between when the event is delivered to the job and when a handler is set is race-free, and any pending events will be queued up for consumption by the job. An event is consumed when it is delivered to the handler. EVENT STREAMS
Providers of events are known as streams. Two example event streams are the IOKit stream and the BSD Notifications stream. Streams are denoted by a reverse-DNS naming scheme. For the aforementioned examples, the stream names are "com.apple.iokit.matching" and "com.apple.noti- fyd.matching", respectively. These are currently the only two supported event streams. EVENT NAMES
A launchd job may be interested in multiple events from different event streams. Each of these events has a name provided by the job in the launchd.plist(5). The occurrence of any of these events will launch the job on-demand if it is not already running. PLIST SCHEMA
Events are specified through the launchd.plist(5) with the LaunchEvents key. The value for this key is a dictionary. Each value of this dic- tionary is itself a dictionary corresponding to an event stream. The values of this inner dictionary are events that may cause the job to be launched on-demand. <key>LaunchEvents</key> <dict> <key>com.apple.iokit.matching</key> <dict> <key>com.apple.device-attach</key> <dict> <key>idProduct</key> <integer>2794</integer> <key>idVendor</key> <integer>725</integer> <key>IOProviderClass</key> <string>IOUSBDevice</string> <key>IOMatchLaunchStream</key> <true/> </dict> </dict> <key>com.apple.notifyd.matching</key> <dict> <key>com.apple.interesting-notification</key> <dict> <key>Notification</key> <string>com.apple.interesting-notification</string> </dict> </dict> </dict> The above specifies that the job will be launched when a node matching the given matching dictionary appears in the IORegistry or when a notification named "com.apple.interesting-notification" is posted using notify_post(3). NOTE: The IOMatchLaunchStream key is required to be present and be a Boolean set to true for use with XPC Events. It will be filtered out of the rest of the dictionary when given to IOKit to match. The reasons for this are historical and not applicable to other event streams. Each event stream has a different plist schema. EVENT CONSUMPTION
Events are consumed with the xpc_set_event_stream_handler() API. The stream argument specifies from which event stream the given handler will receive events. The targetq parameter specifies on which queue the handler will be synchronized. The handler will only ever receive dictio- naries. Each dictionary is guaranteed to have the XPC_EVENT_KEY_NAME key set. The value for this key is the string that was given as the name for the event in the launchd.plist(5). So if the IOKit event in the above example was received, the value of this key would be "com.apple.device-attach". In addition to the standard payload, events from the IOKit stream also have the "IOMatchLaunchServiceID" key set to a uint64_t which speci- fies the unique IORegistry ID of the node which matched the given dictionary as obtained by IORegistryEntryGetRegistryEntryID(). This value may be given to IORegistryEntryIDMatching() to obtain the registry entry which caused the event to fire. BSD Notfication events have no additional payload. xpc_set_event_stream_handler("com.apple.iokit.matching", q, ^(xpc_object_t event) { const char *name = xpc_dictionary_get_string(event, XPC_EVENT_KEY_NAME); uint64_t id = xpc_dictionary_get_uint64(event, "IOMatchLaunchServiceID"); CFMutableDictionaryRef matching = IORegistryEntryIDMatching(id); // Pass to IOServiceGetMatchingServices() or IOServiceAddNotification(). }); IMPORTANT: xpc_set_event_stream_handler() is NOT shareable. Two different subsystems in a process cannot safely both register for events from the same event stream. Therefore, libraries and frameworks should NEVER call this API. SEE ALSO
xpc_object(3), xpc_dictionary_create(3), xpc_array_create(3), notify(3) Darwin 1 July, 2011 Darwin