The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: Vendor ID request


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

xPL Hubs




Hi all,

One of the issues to emerge during Tom's recent work on the xPL .NET
library is how we handle the availability of the xPL hub.

The original school of thought was that a hub should be provided as a
stand-alone application, however in reality, apps like xPLHal, xPLRioNet,
and a few others, all ship with hub implementations.

The reason for this is simple: To make life easier for the user.

The new version of the xPL .NET library includes a built-in hub
implementation, and one of the concerns that a number of people (myself
included) raised was that you would never be sure which application was
acting as the hub, and as a result, you could end up with hub availability
problems if you stopped and started apps in a particular order.

Tom and myself have had a number of discussions about this offlist, and we
think we have come up with the best solution from a developer and end-user
perspective.

The upcoming V3 of the .NET xPL library will include a complete xPL hub
implementation, making use of a mutex, and supporting full recovery of
state information.

The xPLListener object will expose a property to the developer to indicate
whether or not xPLLib should try and act as a hub.
By default, this property will be set to True, so every xpllib-based
application will attempt to take on the roll of an xPL hub.

It should be possible for the user to override this setting, either through
a user interface (like the xPLHal Manager in xPLHal's case) or via a
.config XML file.

However, for apps that aren't Windows services, the property should always
be set to false, so xpllib never tries to act as a hub unless it is running
as a service.

Ultimately, the end-user has total control over which app acts as their xPL
hub.
Out of the box, any xpllib-based service can act as a hub, however, if a
user has a particular need for a certain app to act as the hub, they can
easily disable other applications from acting as hubs.

Another advantage of this approach is that it allows us to remove the hub
code from apps like xPLHal and xPLRioNet, meaning we only have a single
.NET hub implementation to maintain and distribute.

The stand-alone hub will continue to be available (purely as a wrapper to
the xpllib-based hub) for those users who either don't have any other xPL
services installed, or for those who still want a specific service to act
as a hub.

We think that this is the best way forward, but we are keen to hear other
people's thoughts on this issue.

Regards,

John




xPL Main Index | xPL Thread Index | xPL Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.