Experiments with RemoteServiceReplication
| host port acceptor connection |
host := '127.0.0.1'.
port := 47652.
acceptor := RsrAcceptConnection
host: host
port: port.
[ connection := acceptor waitForConnection.
true ]
whileTrue: [ connection waitUntilClose ]
| host port initiator |
host := '127.0.0.1'.
port := 47652.
initiator := RsrInitiateConnection host: host port: port.
connection := initiator connect.
client := connection serviceFor: #WbshProjectsServiceClient.
client inspect.
Inspector is currently used to send messages to the client, like the following:
self projectNames.
WbshProjectListExample openOn: self.
_connection close
(RwSpecification fromFile: '$ROWAN_PROJECTS_HOME/Wabash/rowan/specs/Wabash.ston')
resolve
load
Metacello new
baseline: 'Wabash';
repository: 'tonel:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/Wabash/rowan/src';
get;
load
| projectName projectSpecification resolvedProject projectsHome projectRoot componentName |
projectName := 'Wabash'.
projectsHome := '$ROWAN_PROJECTS_HOME' asFileReference.
projectRoot := projectsHome / projectName.
componentName := 'Core'.
projectSpecification := RwResolvedProjectV2 new
projectName: projectName;
projectsHome: projectsHome;
gitUrl: 'file://' , projectRoot pathString;
packageConvention: 'Rowan';
packageFormat: 'tonel';
yourself.
resolvedProject := projectSpecification resolve.
resolvedProject addTopLevelComponentNamed: componentName.
(resolvedProject addPackageNamed: 'Wabash-Core' toComponentNamed: componentName).
resolvedProject
export;
exportLoadSpecification.