Since now there are more than one pair of eyeballs on this code again, I'm just posting a heads-up that I'm changing the connection handler API a little bit.
Before, a connection instance would implement ConnectionHandler and would use a local ConnectionHandler to handle inbound traffic. Further analysis has shown that inbound and outbound service requests are not symmetrical - inbound service requests, for example, must discover the configured marshaller for the service to determine whether and how wire communications should take place.
So I'm introducing a new ConnectionContext interface which is used by connection providers for inbound service requests on a connection.
Other changes of note: using java.util.ServiceProvider to automatically locate marshallers and connection protocols for standalone apps (so they can just create the endpoint and go, rather than do a ton of config); finishing the named Marshaller registration mechanism so services can pick the preferred protocol, class table/object table, externalizer factory, etc. for that particular service.