/* * Order should not change. New statuses should be added as higher ordinal and old statuses should not be replaced. */ //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldMaintainOrderOfStatuses() public virtual void ShouldMaintainOrderOfStatuses() { StoreCopyFinishedResponse.Status[] givenValues = values(); StoreCopyFinishedResponse.Status[] expectedValues = new StoreCopyFinishedResponse.Status[] { SUCCESS, E_STORE_ID_MISMATCH, E_TOO_FAR_BEHIND, E_UNKNOWN }; assertArrayEquals(givenValues, expectedValues); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private boolean successfulRequest(StoreCopyFinishedResponse response, org.neo4j.causalclustering.messaging.CatchUpRequest request) throws StoreCopyFailedException private bool SuccessfulRequest(StoreCopyFinishedResponse response, CatchUpRequest request) { StoreCopyFinishedResponse.Status responseStatus = response.Status(); if (responseStatus == StoreCopyFinishedResponse.Status.Success) { _log.info(format("Request was successful '%s'", request)); return(true); } else if (StoreCopyFinishedResponse.Status.ETooFarBehind == responseStatus || StoreCopyFinishedResponse.Status.EUnknown == responseStatus || StoreCopyFinishedResponse.Status.EStoreIdMismatch == responseStatus) { _log.warn(format("Request failed '%s'. With response: %s", request, response.Status())); return(false); } else { throw new StoreCopyFailedException(format("Request responded with an unknown response type: %s. '%s'", responseStatus, request)); } }
protected internal override void channelRead0(ChannelHandlerContext ctx, GetStoreFileRequest msg) { // create the files and write the given content File file = new File(_outerInstance.fileName); File fileCopy = new File(_outerInstance.copyFileName); //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: string thisConent = _outerInstance.contents.next(); WriteContents(_outerInstance.outerInstance.fsa, file, thisConent); WriteContents(_outerInstance.outerInstance.fsa, fileCopy, thisConent); sendFile(ctx, file); sendFile(ctx, fileCopy); //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: StoreCopyFinishedResponse.Status status = _outerInstance.contents.hasNext() ? StoreCopyFinishedResponse.Status.EUnknown : StoreCopyFinishedResponse.Status.Success; (new StoreFileStreamingProtocol()).End(ctx, status); _catchupServerProtocol.expect(CatchupServerProtocol.State.MESSAGE_TYPE); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, T request) throws Exception protected internal override void ChannelRead0(ChannelHandlerContext ctx, T request) { _log.debug("Handling request %s", request); StoreCopyFinishedResponse.Status responseStatus = StoreCopyFinishedResponse.Status.EUnknown; try { NeoStoreDataSource neoStoreDataSource = _dataSource.get(); if (!hasSameStoreId(request.expectedStoreId(), neoStoreDataSource)) { responseStatus = StoreCopyFinishedResponse.Status.EStoreIdMismatch; } else if (!isTransactionWithinReach(request.requiredTransactionId(), _checkPointerService)) { responseStatus = StoreCopyFinishedResponse.Status.ETooFarBehind; _checkPointerService.tryAsyncCheckpoint(e => _log.error("Failed to do a checkpoint that was invoked after a too far behind error on store copy request", e)); } else { File databaseDirectory = neoStoreDataSource.DatabaseLayout.databaseDirectory(); using (ResourceIterator <StoreFileMetadata> resourceIterator = Files(request, neoStoreDataSource)) { while (resourceIterator.MoveNext()) { StoreFileMetadata storeFileMetadata = resourceIterator.Current; StoreResource storeResource = new StoreResource(storeFileMetadata.File(), relativePath(databaseDirectory, storeFileMetadata.File()), storeFileMetadata.RecordSize(), _fs); _storeFileStreamingProtocol.stream(ctx, storeResource); } } responseStatus = StoreCopyFinishedResponse.Status.Success; } } finally { _storeFileStreamingProtocol.end(ctx, responseStatus); _protocol.expect(CatchupServerProtocol.State.MESSAGE_TYPE); } }
public virtual void Fail(ChannelHandlerContext ctx, StoreCopyFinishedResponse.Status failureCode) { _protocol.end(ctx, failureCode); }
internal virtual Future <Void> End(ChannelHandlerContext ctx, StoreCopyFinishedResponse.Status status) { ctx.write(ResponseMessageType.STORE_COPY_FINISHED); return(ctx.writeAndFlush(new StoreCopyFinishedResponse(status))); }