public class ProxyContextPublisher extends ContextPublisher implements ProxyBusMember
ContextPublisher
which will listen to remote
ProxyContextSubscriber
' messages and reinject them in to the local
bus. ContextSubscriber
s may be represented locally by the
same ProxyContextPublisher
.busResourceURI, owner, theBus
Constructor and Description |
---|
ProxyContextPublisher(ModuleContext context) |
Modifier and Type | Method and Description |
---|---|
void |
addRemoteProxyReference(BusMemberReference remoteReference)
Add a
BusMemberReference to the proxy. |
void |
addSubscriptionParameters(Resource[] newParams)
When a update of registration parameters is required.
|
void |
communicationChannelBroken()
Method to be called when the communication of the Publisher with the
Context Bus is lost.
|
String |
getBusMemberId()
Get the busmemberId.
|
Collection<BusMemberReference> |
getRemoteProxiesReferences()
List all current references for this proxy.
|
Resource[] |
getSubscriptionParameters()
Get the subscription parameters of the
BusMember being proxied by
this proxy. |
void |
handleMessage(Session session,
WrappedBusMessage busMessage)
When a session receives a
WrappedBusMessage , it delivers it to
the ProxyBusMember which its
busMemberId matches the
WrappedBusMessage's destination . |
boolean |
isCompatible(Resource[] registrationParameters)
As long as the registration parameters are
ContextEventPattern ,
they will always match. |
void |
removeRemoteProxyReference(BusMemberReference remoteReference)
Remove a concrete remote proxy.
|
void |
removeRemoteProxyReferences(Session session)
Disconnect from all references that use the same session.Does not send
Remove message |
void |
removeSubscriptionParameters(Resource[] newParams)
When a update of registration parameters is required.
|
busDyingOut, getMyID, publish
close, getComment, getLabel, getType, getURI, setComment, setLabel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close
public ProxyContextPublisher(ModuleContext context)
public String getBusMemberId()
ProxyBusMember
BusMember
.getBusMemberId
in interface ProxyBusMember
public void addRemoteProxyReference(BusMemberReference remoteReference)
ProxyBusMember
BusMemberReference
to the proxy. This means that from this
moment on the remote proxy and the local proxy can (and should)
communicate with each other. addRemoteProxyReference
in interface ProxyBusMember
remoteReference
- The reference to a remote proxy, its busmemberid and the
session through which to find it.public void removeRemoteProxyReference(BusMemberReference remoteReference)
ProxyBusMember
Remove message
removeRemoteProxyReference
in interface ProxyBusMember
remoteReference
- the remote's proxy reference to stop communicating with.public void removeRemoteProxyReferences(Session session)
ProxyBusMember
Remove message
removeRemoteProxyReferences
in interface ProxyBusMember
session
- the session that is to be disconnected.public Collection<BusMemberReference> getRemoteProxiesReferences()
ProxyBusMember
getRemoteProxiesReferences
in interface ProxyBusMember
public Resource[] getSubscriptionParameters()
ProxyBusMember
BusMember
being proxied by
this proxy.getSubscriptionParameters
in interface ProxyBusMember
public void handleMessage(Session session, WrappedBusMessage busMessage)
ProxyBusMember
WrappedBusMessage
, it delivers it to
the ProxyBusMember
which its
busMemberId
matches the
WrappedBusMessage's destination
. The delivery is received through this
method.handleMessage
in interface ProxyBusMember
session
- the session through which the message was received.busMessage
- the actual message received.public boolean isCompatible(Resource[] registrationParameters)
ContextEventPattern
,
they will always match. This means there will be only one proxy exporter
for all ContextSubscriber
s in the exported pool; since
registration parameters changing is ignored there is no merging problem.isCompatible
in interface ProxyBusMember
public void addSubscriptionParameters(Resource[] newParams)
ProxyBusMember
addSubscriptionParameters
in interface ProxyBusMember
newParams
- the new parameters to use.public void removeSubscriptionParameters(Resource[] newParams)
ProxyBusMember
removeSubscriptionParameters
in interface ProxyBusMember
newParams
- the new parameters to use.public void communicationChannelBroken()
ContextPublisher
communicationChannelBroken
in class ContextPublisher
Copyright © 2018 universAAL Consortium. All rights reserved.