| | |
| | | { |
| | | try |
| | | { |
| | | // Process start from remote |
| | | boolean sessionInitiatorSSLEncryption = |
| | | processStartFromRemote(inECLStartMsg); |
| | | |
| | | // lock with timeout |
| | | if (replicationServerDomain != null) |
| | | { |
| | | lockDomain(true); |
| | | } |
| | | lockDomainWithTimeout(); |
| | | |
| | | localGenerationId = -1; |
| | | |
| | | // send start to remote |
| | | StartMsg outStartMsg = sendStartToRemote(); |
| | | |
| | | // log |
| | | logStartHandshakeRCVandSND(inECLStartMsg, outStartMsg); |
| | | |
| | | // until here session is encrypted then it depends on the negotiation |
| | |
| | | waitAndProcessStartSessionECLFromRemoteServer(); |
| | | if (inStartECLSessionMsg == null) |
| | | { |
| | | // client wants to properly close the connection (client sent a |
| | | // StopMsg) |
| | | // client wants to properly close the connection (client sent a StopMsg) |
| | | logStopReceived(); |
| | | abortStart(null); |
| | | return; |
| | |
| | | |
| | | logStartECLSessionHandshake(inStartECLSessionMsg); |
| | | |
| | | // initialization |
| | | initialize(inStartECLSessionMsg); |
| | | } |
| | | catch(DirectoryException de) |
| | |
| | | } |
| | | finally |
| | | { |
| | | if ((replicationServerDomain != null) && |
| | | replicationServerDomain.hasLock()) |
| | | { |
| | | replicationServerDomain.release(); |
| | | } |
| | | releaseDomainLock(); |
| | | } |
| | | } |
| | | |
| | |
| | | + ServerConstants.DN_EXTERNAL_CHANGELOG_ROOT; |
| | | } |
| | | |
| | | /** |
| | | * Retrieves a set of attributes containing monitor data that should be |
| | | * returned to the client if the corresponding monitor entry is requested. |
| | | * |
| | | * @return A set of attributes containing monitor data that should be |
| | | * returned to the client if the corresponding monitor entry is |
| | | * requested. |
| | | */ |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public List<Attribute> getMonitorData() |
| | | { |