equip.discovery
Class DiscoveryServerAgentImpl

java.lang.Object
  extended byequip.runtime.Object
      extended byequip.runtime.ValueBase
          extended byequip.discovery.DiscoveryServerAgent
              extended byequip.discovery.DiscoveryServerAgentImpl
All Implemented Interfaces:
java.lang.Cloneable

public class DiscoveryServerAgentImpl
extends DiscoveryServerAgent


Nested Class Summary
(package private)  class DiscoveryServerAgentImpl.AnnouncementClient
          internal announcement client (sender) class
(package private)  class DiscoveryServerAgentImpl.DiscoveryServer
          internal discovery server (receiver/responder) class.
 
Field Summary
(package private)  DiscoveryServerAgentImpl.AnnouncementClient[] announcementClients
          current announcement clients, 1 per url
(package private)  byte[][] announcementDatas
          announcement messages
(package private) static boolean debug
           
(package private)  DiscoveryServerAgentImpl.DiscoveryServer[] discoveryServers
          current discovery servers, 1 per url
(package private)  java.lang.String[] discoveryUrls
          discovery URLs to use
(package private)  java.util.Random random
          random number generator
(package private)  ServerDiscoveryInfo[] servers
          servers to advertise
(package private)  boolean started
          started?
 
Constructor Summary
DiscoveryServerAgentImpl()
           
 
Method Summary
(package private) static java.lang.String[] getDefaultDiscoveryUrls()
          get default discovery URL(s)
static void main(java.lang.String[] args)
          sample main - as a helper for another server
(package private)  byte[] makeAnnouncement(ServerDiscoveryInfo server)
          make announcement
(package private) static boolean matchServiceTypes(java.lang.String[] request, java.lang.String[] offer)
          match a request array of serviceTypes or groups against an server
(package private) static java.net.InetAddress parseUrl(java.lang.String urlIn, java.lang.String defaultAddress, int[] port)
          parse discovery URL to address and port
 void start(ServerDiscoveryInfo[] servers, java.lang.String[] discoveryUrls)
          initialiase.
 void startDefault(ServerDiscoveryInfo[] servers)
          initialiase using default discovery and announcement Urls.
 void stop()
          terminate activity.
(package private) static java.lang.String[] urlsNotKnown(java.lang.String[] urls, java.lang.String[] heard)
          return offer urls not already known
 
Methods inherited from class equip.discovery.DiscoveryServerAgent
_equals_helper, _matches_helper, equals, getModuleName, matches, readObject, writeObject
 
Methods inherited from class equip.runtime.ValueBase
_equals_helper, _matches_helper, clone
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

static boolean debug

started

boolean started
started?


random

java.util.Random random
random number generator


servers

ServerDiscoveryInfo[] servers
servers to advertise


discoveryUrls

java.lang.String[] discoveryUrls
discovery URLs to use


announcementDatas

byte[][] announcementDatas
announcement messages


announcementClients

DiscoveryServerAgentImpl.AnnouncementClient[] announcementClients
current announcement clients, 1 per url


discoveryServers

DiscoveryServerAgentImpl.DiscoveryServer[] discoveryServers
current discovery servers, 1 per url

Constructor Detail

DiscoveryServerAgentImpl

public DiscoveryServerAgentImpl()
Method Detail

start

public void start(ServerDiscoveryInfo[] servers,
                  java.lang.String[] discoveryUrls)
initialiase.

Specified by:
start in class DiscoveryServerAgent

startDefault

public void startDefault(ServerDiscoveryInfo[] servers)
initialiase using default discovery and announcement Urls.

Specified by:
startDefault in class DiscoveryServerAgent

stop

public void stop()
terminate activity.

Specified by:
stop in class DiscoveryServerAgent

getDefaultDiscoveryUrls

static java.lang.String[] getDefaultDiscoveryUrls()
get default discovery URL(s)


parseUrl

static java.net.InetAddress parseUrl(java.lang.String urlIn,
                                     java.lang.String defaultAddress,
                                     int[] port)
                              throws java.lang.SecurityException,
                                     java.net.UnknownHostException,
                                     DiscoveryUrlException
parse discovery URL to address and port

Throws:
java.lang.SecurityException
java.net.UnknownHostException
DiscoveryUrlException

makeAnnouncement

byte[] makeAnnouncement(ServerDiscoveryInfo server)
make announcement


main

public static void main(java.lang.String[] args)
sample main - as a helper for another server


matchServiceTypes

static boolean matchServiceTypes(java.lang.String[] request,
                                 java.lang.String[] offer)
match a request array of serviceTypes or groups against an server


urlsNotKnown

static java.lang.String[] urlsNotKnown(java.lang.String[] urls,
                                       java.lang.String[] heard)
return offer urls not already known