private static RemoteNode CreatePrivate(IOperationTracker operationTracker, IPEndPoint endPoint) { var socket = new SocketEndPoint(EndPointType.Client, "Distributor", clientAuthenticator: MachineNameAuthenticator.CreateClient(), heartbeatSettings: new HeartbeatSettings { AllowRemoteHeartbeatDisable = true }); try { socket.Connect(endPoint); return(new RemoteNode(operationTracker, socket, endPoint.ToString())); } catch (Exception) { socket.Dispose(); throw; } }
public NodeServer(string serviceName, INetworkServiceDiscoverer networkServiceDiscoverer, IEnumerable <string> allowedMachineNames) { LogAllowedHosts(allowedMachineNames); _socket = new SocketEndPoint(EndPointType.Server, serviceName, clientAuthenticator: MachineNameAuthenticator.CreateForServer(allowedMachineNames.ToArray()), networkServiceDiscoverer: networkServiceDiscoverer, heartbeatSettings: new HeartbeatSettings { AllowRemoteHeartbeatDisable = true }); _socket.OnDisconnected += SocketOnOnDisconnected; _taskScheduler = new DefaultTaskScheduler(); _filesystem = new Filesystem(_taskScheduler); _interfaces = new Interfaces(); _socket.CreateServant <IInterfaces>(ObjectIds.Interface, _interfaces); _files = new Files(_filesystem); _socket.CreateServant <IFiles>(ObjectIds.File, _files); _shell = new Shell(); _socket.CreateServant <IShell>(ObjectIds.Shell, _shell); _services = new Services(); _socket.CreateServant <IServices>(ObjectIds.Services, _services); _processes = new Processes(); _socket.CreateServant <IProcesses>(ObjectIds.Processes, _processes); _network = new Network(); _socket.CreateServant <INetwork>(ObjectIds.Network, _network); _registry = new Registry(); _socket.CreateServant <IRegistry>(ObjectIds.Registry, _registry); }