HORBAgent.getClientNetAddress() -> getClientNetAddress_Local
HORBAgent.getClientINetAddress() -> getClientINetAddress_Local
HORBAgent.getClientHostName() -> getClientHostName_Local
async method in progress
examples/interfaceCall2
foo_Transient must be transient foo
strict = true
static variables are not copied during object passing
Server_Proxy("horb://www.etl.go.jp") is allowed.
methods in a proxy are synchronous unless "horbc -nomethodsynch"
HORBException is a subclass of RemoteException.
methods in a proxy class does not throw IOException, but NetException.
You don't need to call a constructor of a remote object explicitely.

96/01/22 IOCInterface/selectMethod()classNoǉ
96/01/23 inheritance in remote method call
96/01/23 inheritance in object passing
96/01/23 ClassFile.javahasSuperClassǉ
96/01/26 object table, thread table
96/01/26 horbstat class, horbstat.exe, HORBAgentǉ
96/01/26 skeleton: horb -v ȂAmethodexception\
96/01/26 protected, static variable ͓n
96/01/26 HORB.registerInstance()->HORBServer.registerInstance() (nocheck)
96/01/26 multiple HORBServer
96/01/26 registerInstance(port). if port=0, any port. object created by 
	createInstance() can be accessed from the same port.
96/01/26 ThreadServer controls threads.

96/01/29 threadServer catched ThreadDeath to cleanup
96/01/29 HORBServer.getServer(), debugging(), setDebug()
96/01/29 Proxy._getThreadName()
96/01/29 stop, suspend, resume HORB threads
96/01/30 distributed access control list
96/01/30 port check for daemon object
96/02/01 hidl -delete option is available
96/02/03 A constructor must be called after createing a proxy object, if
	creating non-daemon object. If creating a remote object of an 
	interface, a constructor without argument, e.g. Foo_Implement(), 
	is automatically called. This is because an interface cannot
	have any constructors.
	if an exception occures during the execution of the constructor,
	remote object is removed at the server side. Thus the proxy object
	is no longer usable.
96/02/03 HORB.registerInstance() has removed. use HORBServer.registerObject()
	instead.
96/02/04 thread remains for a while when client disappears if the client 
	was in the same HORB server process. The thread disappear when
	the client is GCed.
96/02/04 if a remote object has the _threadEndHook() method (not in superclasses
	but in the base class), the method is called when a server 
	thread disappears.
96/02/04 if a remote object has explicit finalize() method, it can be 
	called remotely by _finalize() of the proxy object. Even if
	the finalize() method is remotely called, the finalize() is
	called when the remote object is GCed.
96/02/04 hidl -ignoresuper option ignores superclass of a class. You can
	find an example of use of this option in examples/WorldClock/Makefile.
	In this example this option is used to ignore the Thread superclass of
	the Server class.
96/02/04 HORB.java, HORBServer, etc. don't depend on TCP/IP.
96/02/04 Foo_Implement.java -> Foo_Impl.java
96/02/04 IOCInterface -> IOCI
96/02/04 BasicIOCI -> IOCICommon + BasicIOCI
96/02/04 If a class has _reviveHook() method, the method is called
	after the object of the class is transfered thru net or file.
96/02/04 ObjectStore 
96/02/04 You can pass arbitrary complex structured objects, such like
	loop structured objects.
96/02/05 fofrun. persitent program.
96/02/06 if the class of a remote object reference is same as an expected
	class, object passing by reference don't send the class name
	for optimization.
96/02/06 BasicIOCI passes its signature and version number to peer IOCI
	running in a HORB server. We can check version mismatch.
96/02/06 horb -conf for configuration file
96/02/13 invitation
96/02/13 field/method name convention
	 field_Transient     not passed, stored.  'transient int a' is also OK.
	 method_Local        no global access
	 method_Async        asynchronous
	 method_Request      asynchronous request
	 method_Receive      asynchronous receive
	 _reviveHook         called when revived from a file
	 _faintHook          called when fainted into a file
	 _threadEndHook      called when a thread leaves
	 _finalize           alias of finalize() of the remote object
96/02/13 run() method is renamed to _run() in proxy objects.
96/02/13 asynchronous transfer. _wait(), _isComplete(), _
96/02/14 version check. hidl -major 1 -minor 2. if major == 0.
	only major version is checked between proxy and skeleton.
	don't check version number if proxy major == 0.
96/02/14 username, password check. Foo_Proxy(url, username, password)

96/02/15 When a client A send a remote object reference to server B to
	 another client C, a username and a key to server B is also
	 passed to the client C. This means the client C got a pair
	 of a username and a key that could be known only by client A
	and server B. If such situation is not good for your system,
	don't use remote object passing for such cases.
96/02/15 toString() cannot be used as a remote method.
96/02/16 passing String object always makes new string. for example;
		 String abc[] = String[2];
		 abc[0] = "abc";
		 abc[1] = abc[0];
	         remote.method(abc);
         at the remote method, abc[0] and abc[1] have the same string,
	 but as different objects.
96/02/16 Now you can send an array including nulls.
96/02/16 one dimensional array of first class objects are transfered
	in IOCI rather than a proxy object. Optimization in IOCI can be
	carried out.
96/02/16 strict flag in IOCICommon. if proxy class not found during
	sending a object, receiver receives null, if strict object
	is false.
96/02/18 We can pass String as a parameter or a field type Object.
96/02/18 HorbURL(null, null) means "horb://localhost/".
96/02/19 _faintHook() is added.
96/02/19 _faintHook and _reviveHook should take a parameter, place.
96/02/19 array receiver is initialized with null.
96/02/19 start from accessControl[1] is OK in a config file.
96/02/19 horb -start replaces all entries of config file.
96/02/19 horb -acl replaces all entries of config file.
96/02/24 RemoteException.toString() returns the original message of 
	remote exception.
96/02/24 class name is checked when connectObject.
96/02/24 receive connect request header in another thread than the
	main server thread. this avoids freezing of server.
96/02/24 horbstat shows proxy's version number.
96/02/24 skeleton returns NO_SUCH_METHOD status when method no check fails.
96/02/24 BasicIOCI can be a superclass.
96/02/24 TestIOCI inherits BasicIOCI.
96/02/24 server rejects client if signature mismatches.
96/02/22 proxy class inherits throws clauses from interface or class.
96/02/22 hidl can generate proxy from an abstract class.
96/02/28 ACL.access_Local() can be used to check access permission for methods.
96/02/28 distributed ACL.
96/03/06 classname.createble=false in ACL inhibits creation of the class. only
	connection is allowed.
96/03/06 checkHostUser_Local(), checkHost_Local(), checkUser_Local()
	and getValue_Local() is created in ACL.
96/03/06 object storage
96/03/06 object[0].implementation in config file
96/03/06 className.creatable=false in ACL file disallows remote creation
96/03/15 invitation works in applets
96/03/15 exception during argument passing is raised with exception string.
96/03/15 exception in return value passing prints stack trace at the
	server end.
96/03/16 now -d option of hidl works.
96/03/17 source of orb and horbc is moved to classsrc.
96/03/17 hidl is renamed to horbc.
