scion-server in client mode #1

Merged
7 commits merged into from Sep 16, 2010

Conversation

Projects
None yet
1 participant
@bscottm
Contributor

bscottm commented Sep 16, 2010

This patch removes all of the TFU logic that existed in NetworkScionServer. It is replaced by more straightforward code that (a) creates a server socket, (b) forks a thread to accept connections on the server socket, (c) spins off the scion-server process using the new "-c" (client mode) flag.

Once scion-server is executing, it will connect to the Eclipse-specified port, and happiness is achieved.

Personally, though, this is a fallback option, since the stdin/stdout seems to be considerably more efficient on Mac OS X. I'll test on Win32 when I eventually get back to the office.

Scott Michel added some commits Sep 14, 2010

Scott Michel
Make this code a little bit more robust: use InetAddress objects for the
v6 and v4 localhost addresses, instead of relying on "null" to do the
right thing. When the code needs to fall back to v4 localhost, just use
an object for the InetAddress.

Insert (hopefully) temporary hack in Galileo and Helios due to
java.net.getURI returning null if the host name cannot be parse or is
undefined. Basically, this boils down to proxy handling in EGit
generating a null pointer exception and Mac OS X not having full proxy
support for v6 interfaces (it might, but a URI like "http://::1:8080/"
or some wuch might not be parsed correctly?)
Scott Michel
Merge branch 'master' of git://github.com/JPMoresmau/eclipsefp
Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/client/NetworkScionServer.java
Scott Michel
Fully support client mode for scion-server. In client mode, EclipseFP
generates an ephemeral port suitable to start an accept thread, and
waits for scion-server to connect. scion-server is passed the port to
which it subsequently connects.

This cuts down on hunting for an available port. Also, all of the
wacked out, TFU logic for dealing with IPv6 and other happiness
goes away.

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment