public interface DipFactory
Concrete implementations of this interface will require implementation specific parameters such as URL of the broker or naming service. They will normally be implemented as singletons and encapsulate the functionality of the Dip implementation.
About DIP:
DIP (Data Interchange Protocol) is the publish/subscribe interface for the
CERN inter-domain communication designed according to the requirements
established by the LDIWG (LHC Data Interchange Working Group).
In this working group has been established that any communication between the independent CERN domains shall be exchanged via DIP. The information namespace shall be partitioned in topics, organised in a hierarchical way with the string "dip" and the string describing the domain name coming first. The remaining part of the topic namespace is under the responsibility of the domain.
For instance the energy of the LHC beam accelerator domain topic may be: "dip.acc.LHC.intensity" where "acc" is the accelerator domain.
Modifier and Type | Method and Description |
---|---|
DipBrowser |
createDipBrowser()
Create a browser object with which the namespace of
DIP may be viewed.
|
DipData |
createDipData()
Creates a new DipData object.
|
DipPublication |
createDipPublication(String topicName,
DipPublicationErrorHandler handler)
Creates a new DipPublication object for the topic specified by topicName.
|
DipSubscription |
createDipSubscription(String topicName,
DipSubscriptionListener listener)
Creates a new DipSubscription object for the topic specified by topicName.
|
void |
destroyDipPublication(DipPublication publication)
Destroys DipPublication object previously created by createDipPublication().
|
void |
destroyDipSubscription(DipSubscription subscription)
Destroys DipSubscription object previously created by createDipSubscription().
|
int |
getTimeout()
Get the write and connection timeout to be used for DIP communication.
|
void |
setDNSNode(String nodeName)
Specifies the DNS to be used for the DIP communication.
|
void |
setTimeout(int timeout)
Set the write and connection timeout to be used for DIP communication.
|
void setDNSNode(String nodeName)
nodeName
- name of the DNS to be used.void setTimeout(int timeout)
timeout
- Timeout in seconds to be applied to new connections.int getTimeout()
DipSubscription createDipSubscription(String topicName, DipSubscriptionListener listener) throws DipException
topicName
- name of the subscription topiclistener
- is user object which implementsDipException
- if the subscription cannot be created.interface, used to receive data as well as the state of publication.
DipPublication createDipPublication(String topicName, DipPublicationErrorHandler handler) throws DipException
topicName
- name of the subscription topic - must be uniquehandler
- - used for handling aysnch. DIP errors.DipException
- if the publication cannot be created.interface,
void destroyDipSubscription(DipSubscription subscription) throws DipException
DipException
- if the subscription is not found.void destroyDipPublication(DipPublication publication) throws DipException
DipException
- if the subscription is not found.DipData createDipData()
DipBrowser createDipBrowser()
Copyright © 2008–2017 CERN. All rights reserved.