Skip to content

Commit

Permalink
The R13B03 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Erlang/OTP committed Nov 20, 2009
0 parents commit e8b429b
Show file tree
Hide file tree
Showing 846 changed files with 143,633 additions and 0 deletions.
13 changes: 13 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
AUTHORS

Contributions - improvements, fixes, new features - from developers
make the Erlang 'Open Source' project a success. To give credit
where it's due, we've added a file called AUTHORS to each
application sub-directory with a list of everyone who has contributed
It might also contain the names of the original authors at Ericsson.

Speaking of original authors, we don't want to forget all the people
working full time with Erlang and OTP. So, thanks to everyone
working with Erlang at the OTP group, the Computer Science
Laboratory and the Software Architecture Laboratory.

5 changes: 5 additions & 0 deletions lib/cosEvent/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Original Authors:
Niclas Eklund

Contributors:

41 changes: 41 additions & 0 deletions lib/cosEvent/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 1999-2009. All Rights Reserved.
#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
# %CopyrightEnd%
#
#
include $(ERL_TOP)/make/target.mk
include $(ERL_TOP)/make/$(TARGET)/otp.mk

# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include vsn.mk
VSN=$(COSEVENT_VSN)

# ----------------------------------------------------
# Common Macros
# ----------------------------------------------------

SUB_DIRECTORIES = src doc/src

SPECIAL_TARGETS =

# ----------------------------------------------------
# Default Subdir Targets
# ----------------------------------------------------
include $(ERL_TOP)/make/otp_subdir.mk

Empty file.
Empty file.
Empty file.
Empty file added lib/cosEvent/doc/pdf/.gitignore
Empty file.
81 changes: 81 additions & 0 deletions lib/cosEvent/doc/src/CosEventChannelAdmin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
<header>
<copyright>
<year>1997</year>
<year>2007</year>
<holder>Ericsson AB, All Rights Reserved</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.

The Initial Developer of the Original Code is Ericsson AB.
</legalnotice>

<title>CosEventChannelAdmin</title>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved></approved>
<checked></checked>
<date>1997-11-13</date>
<rev>PA1</rev>
<file>CosEventChannelAdmin.xml</file>
</header>
<module>CosEventChannelAdmin</module>
<modulesummary>The CosEventChannelAdmin defines a set if event service interfaces that enables decoupled asynchronous communication between objects and implements generic (untyped) version of the OMG COSS standard event service.</modulesummary>
<description>
<p>The event service defines two roles for objects: the supplier role and
the consumer role. Suppliers supply event data to the event channel and
consumers receive event data from the channel. Suppliers do not need to
know the identity of the consumers, and vice versa. Consumers and
suppliers are connected to the event channel via proxies, which are managed
by ConsumerAdmin and SupplierAdmin objects.</p>
<p>There are four general models of communication. These are: </p>
<list type="bulleted">
<item>The canonical push model. It allows the suppliers of events to initiate the
transfer of event data to consumers. Event channels play the role of
<c><![CDATA[Notifier]]></c>. Active suppliers use event channel to push data to
passive consumers registered with the event channel.</item>
<item>The canonical pull model. It allows consumers to request events from
suppliers. Event channels play the role of <c><![CDATA[Procure]]></c> since they
procure events on behalf of consumers. Active consumers can explicitly
pull data from passive suppliers via the event channels.</item>
<item>The hybrid push/pull model. It allows consumers request events queued at
a channel by suppliers. Event channels play the role of <c><![CDATA[Queue]]></c>.
Active consumers explicitly pull data deposited by active suppliers via
the event channels.</item>
<item>The hybrid pull/push model. It allows the channel to pull events from
suppliers and push them to consumers. Event channels play the role of
<c><![CDATA[Intelligent agent]]></c>. Active event channels can pull data from
passive suppliers to push it to passive consumers.</item>
</list>
<p>To get access to all definitions, e.g., exceptions,
include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
<p>There are seven different interfaces supported in the service:</p>
<list type="bulleted">
<item>ProxyPushConsumer</item>
<item>ProxyPullSupplier</item>
<item>ProxyPullConsumer</item>
<item>ProxyPushSupplier</item>
<item>ConsumerAdmin</item>
<item>SupplierAdmin</item>
<item>EventChannel</item>
</list>
<p>IDL specification for CosEventChannelAdmin:</p>
<codeinclude file="../../src/CosEventChannelAdmin.idl" tag="" type="c"></codeinclude>
</description>

</erlref>

73 changes: 73 additions & 0 deletions lib/cosEvent/doc/src/CosEventChannelAdmin_ConsumerAdmin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
<header>
<copyright>
<year>1997</year>
<year>2007</year>
<holder>Ericsson AB, All Rights Reserved</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.

The Initial Developer of the Original Code is Ericsson AB.
</legalnotice>

<title>CosEventChannelAdmin_&shy;ConsumerAdmin</title>
<shorttitle>..._ConsumerAdmin</shorttitle>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved></approved>
<checked></checked>
<date>1997-11-13</date>
<rev>PA1</rev>
<file>CosEventChannelAdmin_ConsumerAdmin.xml</file>
</header>
<module>CosEventChannelAdmin_ConsumerAdmin</module>
<modulesummary>This module implements a ConsumerAdmin interface, which allows consumers to be connected to the event channel.</modulesummary>
<description>
<p>The ConsumerAdmin interface defines the first step for connecting consumers
to the event channel. It acts as a factory for creating proxy suppliers.
Both consumer administration and supplier administration are defined as separate
objects so that the creator of the channel can control the addition of
suppliers and consumers. </p>
<p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
</description>
<funcs>
<func>
<name>obtain_push_supplier(Object) -> Return</name>
<fsummary>Create a ProxyPushSupplier object</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = #objref</v>
</type>
<desc>
<p>This operation returns a ProxyPushSupplier object reference.</p>
</desc>
</func>
<func>
<name>obtain_pull_supplier(Object) -> Return</name>
<fsummary>Create a ProxyPullSupplier object</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = #objref</v>
</type>
<desc>
<p>This operation returns a ProxyPullSupplier object reference.</p>
</desc>
</func>
</funcs>

</erlref>

95 changes: 95 additions & 0 deletions lib/cosEvent/doc/src/CosEventChannelAdmin_EventChannel.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
<header>
<copyright>
<year>1997</year>
<year>2007</year>
<holder>Ericsson AB, All Rights Reserved</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.

The Initial Developer of the Original Code is Ericsson AB.
</legalnotice>

<title>CosEventChannelAdmin_&shy;EventChannel</title>
<shorttitle>..._EventChannel</shorttitle>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved></approved>
<checked></checked>
<date>1997-11-13</date>
<rev>PA1</rev>
<file>CosEventChannelAdmin_EventChannel.xml</file>
</header>
<module>CosEventChannelAdmin_EventChannel</module>
<modulesummary>This module implements an Event Channel interface, which plays the role of a mediator between consumers and suppliers.</modulesummary>
<description>
<p>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.</p>
<p>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.</p>
<p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
<p>Any object that possesses an object reference that supports the ProxyPullConsumer
interface can perform the following operations:</p>
</description>
<funcs>
<func>
<name>for_consumers(Object) -> Return</name>
<fsummary>Return a ConsumerAdmin object</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = #objref</v>
</type>
<desc>
<p>This operation returns a ConsumerAdmin object reference. If ConsumerAdmin
object does not exist already it creates one.</p>
</desc>
</func>
<func>
<name>for_suppliers(Object) -> Return</name>
<fsummary>Return a SupplierAdmin object</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = #objref</v>
</type>
<desc>
<p>This operation returns a SupplierAdmin object reference. If SupplierAdmin
object does not exist already it creates one.</p>
</desc>
</func>
<func>
<name>destroy(Object) -> Return</name>
<fsummary>Destroy the event channel</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = #objref</v>
</type>
<desc>
<p></p>
</desc>
</func>
</funcs>

</erlref>

85 changes: 85 additions & 0 deletions lib/cosEvent/doc/src/CosEventChannelAdmin_ProxyPullConsumer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
<header>
<copyright>
<year>1997</year>
<year>2007</year>
<holder>Ericsson AB, All Rights Reserved</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.

The Initial Developer of the Original Code is Ericsson AB.
</legalnotice>

<title>CosEventChannelAdmin_&shy;ProxyPullConsumer</title>
<shorttitle>..._ProxyPullConsumer</shorttitle>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved></approved>
<checked></checked>
<date>1997-11-13</date>
<rev>PA1</rev>
<file>CosEventChannelAdmin_ProxyPullConsumer.xml</file>
</header>
<module>CosEventChannelAdmin_ProxyPullConsumer</module>
<modulesummary>This module implements a ProxyPullConsumer interface which acts as a middleman between pull supplier and the event channel.</modulesummary>
<description>
<p>The ProxyPullConsumer interface defines the second step for connecting pull
suppliers to the event channel. A proxy consumer is similar to a normal consumer,
but includes an additional method for connecting a supplier to the proxy
consumer.</p>
<p>To get access to all definitions, e.g., exceptions,
include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
<p>Any object that possesses an object reference that supports the ProxyPullConsumer
interface can perform the following operations:</p>
</description>
<funcs>
<func>
<name>connect_pull_supplier(Object, PullSupplier) -> Return</name>
<fsummary>Connect the pull supplier to the proxy pull consumer</fsummary>
<type>
<v>Object = #objref</v>
<v>PullSupplier = #objref of PullSupplier type</v>
<v>Return = ok | {'EXCEPTION', E}</v>
<v>E = #'CosEventChannelAdmin_AlreadyConnected'{} | #'CosEventChannelAdmin_TypeError'{}</v>
</type>
<desc>
<p>This operation connects PullSupplier object to the ProxyPullConsumer object.
If a nil object reference is passed CORBA standard <c><![CDATA[BAD_PARAM]]></c> exception
is raised. If the ProxyPullConsumer is already connected to a PullSupplier,
then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c> exception is raised.
Implementations of ProxyPullConsumers may require additional interface
functionality; if these requirements are not met the
<c><![CDATA[CosEventChannelAdmin_TypeError]]></c> exception will be raised.</p>
</desc>
</func>
<func>
<name>disconnect_pull_consumer(Object) -> Return</name>
<fsummary>Disconnect the ProxyPullConsumer object from the event channel.</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = ok</v>
</type>
<desc>
<p>This operation disconnects proxy pull consumer from the event channel and
sends a notification about the loss of the connection to the pull supplier
attached to it.</p>
</desc>
</func>
</funcs>

</erlref>

Loading

0 comments on commit e8b429b

Please sign in to comment.