---
name: "CosEventChannelAdmin_ProxyPullSupplier"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/CosEventChannelAdmin_ProxyPullSupplier"
---

# CosEventChannelAdmin\_ProxyPullSupplier(3erl)

This module implements a ProxyPullSupplier interface which acts as a middleman between pull consumer and the event channel.

## NAME

CosEventChannelAdmin\_ProxyPullSupplier - This module implements a ProxyPullSupplier interface which acts as a middleman between pull consumer and the event channel.

## DESCRIPTION

The ProxyPullSupplier interface defines the second step for connecting pull consumers to the event channel. A proxy supplier is similar to a normal supplier, but includes an additional method for connecting a consumer to the proxy supplier.

To get access to all definitions, e.g., exceptions, include necessary *hrl* files by using:\
 *-include\_lib("cosEvent/include/\*.hrl").*

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

## EXPORTS

**connect\_pull\_consumer(Object, PullConsumer) -\> Return**\

Types:

Object = #objref\
 PullConsumer = #objref of PullConsumer type\
 Return = ok \| {'EXCEPTION', #'CosEventChannelAdmin\_AlreadyConnected'{}}\

This operation connects PullConsumer object to the ProxyPullSupplier object. A nil object reference can be passed to this operation. If so a channel cannot invoke the disconnect\_pull\_consumer operation on the consumer; the consumer may be disconnected from the channel without being informed. If the ProxyPullSupplier is already connected to a PullConsumer, then the *CosEventChannelAdmin\_AlreadyConnected* exception is raised.

**disconnect\_pull\_supplier(Object) -\> Return**\

Types:

Object = #objref\
 Return = ok\

This operation disconnects proxy pull supplier from the event channel. It sends a notification about the loss of the connection to the pull consumer attached to it, unless nil object reference was passed at the connection time.

**pull(Object) -\> Return**\

Types:

Object = #objref\
 Return = any\

This operation blocks until the event data is available or the *CosEventComm\_Disconnected* exception is raised. It returns the event data to the consumer.

**try\_pull(Object) -\> Return**\

Types:

Object = #objref\
 Return = {any, bool()}\

This operation does not block: if the event data is available, it returns the event data and sets the data availability flag to true; otherwise it returns a long with an undefined value and sets the data availability to false. If the event communication has already been disconnected, the *CosEventComm\_Disconnected* exception is raised.
