internal void InitializeSecondarySocket(Connection connection, IPAddress address, int port) { connection.ConnectSecondarySocket(address, port); InitSecondarySocketCommand command = new InitSecondarySocketCommand(_cache.ClientID); DoSendCommand(connection, command, false); CommandResponse res = connection.RecieveCommandResponse(connection.SecondaryClientSocket); lock (_requestTable.SyncRoot) { _requestTable.Remove(command.RequestId); } if (_perfStatsColl2 != null) _perfStatsColl2.DecrementRequestQueueSizeStats(); if (res != null) res.ParseResponse(); }
internal void InitializeCache(Connection connection, IPAddress address, int port, bool balanceNodes) { InitCommand command = new InitCommand(_cache.ClientID, _cacheId, connection.GetClientLocalIP()); Request request = new Request(false, _operationTimeout); request.AddCommand(connection.ServerAddress, command); ExecuteRequest(request, connection, false, false); CommandResponse res = connection.RecieveCommandResponse(); switch (res.CacheType) { case "partitioned-server": this._balanceNode = false; break; case "local-cache": this._balanceNode = false; this._importHashmap = false; break; case "replicated-server": this._importHashmap = false; break; } lock (_requestTable.SyncRoot) { _requestTable.Remove(request.RequestId); } if (_perfStatsColl2 != null) _perfStatsColl2.DecrementRequestQueueSizeStats(); if (res != null) res.ParseResponse(); }
private void GetServerMapping(Connection connection, bool initialRequest) { GetServerMappingCommand command = new GetServerMappingCommand(); CommandResponse serverMapRes = null; Request request = CreateRequest(command); try { if (initialRequest) { ExecuteRequest(request, connection, false, false); serverMapRes = connection.RecieveCommandResponse(); lock (_requestTable.SyncRoot) { _requestTable.Remove(request.RequestId); } if (_perfStatsColl2 != null) _perfStatsColl2.DecrementRequestQueueSizeStats(); } else { ExecuteRequest(request); serverMapRes = request.Response; } if (serverMapRes != null) { serverMapRes.ParseResponse(); } _clientConfig.AddMappedServers(serverMapRes.ServerMappingList); } catch (Exception exp) { if (_logger.IsDetailedLogsEnabled) { _logger.NCacheLog.Debug(exp.Message); } } }
private CommandResponse IsOptimalServer(Connection connection, IPAddress connectedServerAddress, int port) { GetOptimalServerCommand command = new GetOptimalServerCommand(_cacheId); Request request = new Request(false, _operationTimeout); request.AddCommand(connection.ServerAddress, command); ExecuteRequest(request, connection, false, false); CommandResponse balanceNodeRes = connection.RecieveCommandResponse(); lock (_requestTable.SyncRoot) { _requestTable.Remove(request.RequestId); } if (_perfStatsColl2 != null) _perfStatsColl2.DecrementRequestQueueSizeStats(); if (balanceNodeRes != null) balanceNodeRes.ParseResponse(); return balanceNodeRes; }
private Dictionary<string, int> GetRunningServers(Connection conn, IPAddress coonectedServerAddress, int port) { GetRunningServersCommand command = new GetRunningServersCommand(_cacheId); Request request = new Request(false, _operationTimeout); request.AddCommand(conn.ServerAddress, command); ExecuteRequest(request, conn, false, false); CommandResponse runningServers = conn.RecieveCommandResponse(); lock (_requestTable.SyncRoot) { _requestTable.Remove(request.RequestId); } if (_perfStatsColl2 != null) _perfStatsColl2.DecrementRequestQueueSizeStats(); if (runningServers != null) { runningServers.ParseResponse(); return runningServers.RunningServer; } return null; }