User's Guide
Reference Manual
Release Notes
PDF
Top

cosEvent
Reference Manual
Version 2.2

Expand All
Contract All

Table of Contents

- cosEventApp
  - Top of manual page
  - install/0
  - uninstall/0
  - start/0
  - stop/0
  - start_channel/0
  - start_channel/1
  - start_channel_link/0
  - start_channel_link/1
  - stop_channel/1
- CosEventChannelAdmin
- CosEventChannelAdmin_ConsumerAdmin
  - Top of manual page
  - obtain_push_supplier/1
  - obtain_pull_supplier/1
- CosEventChannelAdmin_SupplierAdmin
  - Top of manual page
  - obtain_push_consumer/1
  - obtain_pull_consumer/1
- CosEventChannelAdmin_EventChannel
  - Top of manual page
  - for_consumers/1
  - for_suppliers/1
  - destroy/1
- CosEventChannelAdmin_ProxyPullConsumer
  - Top of manual page
  - connect_pull_supplier/2
  - disconnect_pull_consumer/1
- CosEventChannelAdmin_ProxyPushConsumer
  - Top of manual page
  - connect_push_supplier/2
  - disconnect_push_consumer/1
  - push/2
- CosEventChannelAdmin_ProxyPullSupplier
  - Top of manual page
  - connect_pull_consumer/2
  - disconnect_pull_supplier/1
  - pull/1
  - try_pull/1
- CosEventChannelAdmin_ProxyPushSupplier
  - Top of manual page
  - connect_push_consumer/2
  - disconnect_push_supplier/1

# CosEventChannelAdmin_EventChannel

### MODULE

CosEventChannelAdmin_EventChannel

### MODULE SUMMARY

This module implements an Event Channel interface, which plays the role of a mediator between consumers and suppliers.

### DESCRIPTION

An event channel is an object that allows multiple suppliers to communicate with multiple consumers in a highly decoupled, asynchronous manner. The event channel is built up incrementally. When an event channel is created no suppliers or consumers are connected to it. Event Channel can implement group communication by serving as a replicator, broadcaster, or multicaster that forward events from one or more suppliers to multiple consumers.

It is up to the user to decide when an event channel is created and how references to the event channel are obtained. By representing the event channel as an object, it has all of the properties that apply to objects. One way to manage an event channel is to register it in a naming context, or export it through an operation on an object.

To get access to all definitions include necessary hrl files by using:
-include_lib("cosEvent/include/*.hrl").

Any object that possesses an object reference that supports the ProxyPullConsumer interface can perform the following operations:

### EXPORTS

for_consumers(Object) -> Return

Types:

Object = #objref
Return = #objref

This operation returns a ConsumerAdmin object reference. If ConsumerAdmin object does not exist already it creates one.

for_suppliers(Object) -> Return

Types:

Object = #objref
Return = #objref

This operation returns a SupplierAdmin object reference. If SupplierAdmin object does not exist already it creates one.

destroy(Object) -> Return

Types:

Object = #objref
Return = #objref