Skip to content

Commit

Permalink
Small javadoc and naming corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
tinwelint committed Jan 29, 2018
1 parent c68d5e5 commit 5fa0ed8
Show file tree
Hide file tree
Showing 17 changed files with 46 additions and 48 deletions.
Expand Up @@ -37,10 +37,10 @@
* msb [ 3 ][ 2 ][ 1 ][ 0 ] lsb * msb [ 3 ][ 2 ][ 1 ][ 0 ] lsb
* ▲ ▲ ▲ ▲ * ▲ ▲ ▲ ▲
* │ │ │ │ * │ │ │ │
* │ │ │ └──────────── {@link TreeNode#formatIdentifier()} * │ │ │ └──────────── {@link #getFormatIdentifier()}
* │ │ └───────────────── {@link TreeNode#formatVersion()} * │ │ └───────────────── {@link #getFormatVersion()}
* │ └────────────────────── {@link #CURRENT_STATE_VERSION} * │ └────────────────────── {@link #getUnusedVersionSlot3()}
* └─────────────────────────── {@link #CURRENT_GBPTREE_VERSION} * └─────────────────────────── {@link #getUnusedVersionSlot4()}
* </pre> * </pre>
* *
* {@link #CURRENT_STATE_VERSION} and {@link #CURRENT_GBPTREE_VERSION} aren't used yet because they have * {@link #CURRENT_STATE_VERSION} and {@link #CURRENT_GBPTREE_VERSION} aren't used yet because they have
Expand Down Expand Up @@ -196,12 +196,12 @@ private static byte extractIndividualVersion( int format, int shift )
return (byte) ((format >>> shift) & MASK_BYTE); return (byte) ((format >>> shift) & MASK_BYTE);
} }


int allVersionsCombined() private int allVersionsCombined()
{ {
return formatIdentifier >>> SHIFT_FORMAT_IDENTIFIER | formatVersion >>> SHIFT_FORMAT_VERSION; return formatIdentifier >>> SHIFT_FORMAT_IDENTIFIER | formatVersion >>> SHIFT_FORMAT_VERSION;
} }


public int getPageSize() int getPageSize()
{ {
return pageSize; return pageSize;
} }
Expand All @@ -211,7 +211,7 @@ byte getFormatIdentifier()
return formatIdentifier; return formatIdentifier;
} }


public byte getFormatVersion() byte getFormatVersion()
{ {
return formatVersion; return formatVersion;
} }
Expand Down
Expand Up @@ -128,7 +128,7 @@ interface Factory
* Specifies the format identifier of the physical layout of tree nodes. * Specifies the format identifier of the physical layout of tree nodes.
* A format identifier must be unique among all possible existing format identifiers. * A format identifier must be unique among all possible existing format identifiers.
* It's used to differentiate between different types of formats. * It's used to differentiate between different types of formats.
* On top of this a specific format identifier may be {@link #formatVersion()}. * On top of this a specific {@link #formatVersion() format version} can specify a version of this format.
* *
* @return format identifier for the specific {@link TreeNode} that this factory represents. * @return format identifier for the specific {@link TreeNode} that this factory represents.
* Can return this w/o instantiating the {@link TreeNode}. * Can return this w/o instantiating the {@link TreeNode}.
Expand Down
Expand Up @@ -32,7 +32,7 @@
import static org.neo4j.index.internal.gbptree.ConsistencyChecker.assertNoCrashOrBrokenPointerInGSPP; import static org.neo4j.index.internal.gbptree.ConsistencyChecker.assertNoCrashOrBrokenPointerInGSPP;
import static org.neo4j.index.internal.gbptree.GenerationSafePointer.MIN_GENERATION; import static org.neo4j.index.internal.gbptree.GenerationSafePointer.MIN_GENERATION;
import static org.neo4j.index.internal.gbptree.PageCursorUtil.goTo; import static org.neo4j.index.internal.gbptree.PageCursorUtil.goTo;
import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class ConsistencyCheckerTest public class ConsistencyCheckerTest
{ {
Expand All @@ -49,7 +49,7 @@ public void shouldThrowDescriptiveExceptionOnBrokenGSPP() throws Exception
long pointer = 123; long pointer = 123;


cursor.next( 0 ); cursor.next( 0 );
new TreeNodeFixedSize<>( pageSize, layout().build() ).initializeInternal( cursor, stableGeneration, crashGeneration ); new TreeNodeFixedSize<>( pageSize, longLayout().build() ).initializeInternal( cursor, stableGeneration, crashGeneration );
TreeNode.setSuccessor( cursor, pointer, stableGeneration, crashGeneration ); TreeNode.setSuccessor( cursor, pointer, stableGeneration, crashGeneration );


// WHEN // WHEN
Expand All @@ -76,7 +76,7 @@ public void shouldDetectUnusedPages() throws Exception
{ {
// GIVEN // GIVEN
int pageSize = 256; int pageSize = 256;
Layout<MutableLong,MutableLong> layout = layout().build(); Layout<MutableLong,MutableLong> layout = longLayout().build();
TreeNode<MutableLong,MutableLong> node = new TreeNodeFixedSize<>( pageSize, layout ); TreeNode<MutableLong,MutableLong> node = new TreeNodeFixedSize<>( pageSize, layout );
long stableGeneration = GenerationSafePointer.MIN_GENERATION; long stableGeneration = GenerationSafePointer.MIN_GENERATION;
long unstableGeneration = stableGeneration + 1; long unstableGeneration = stableGeneration + 1;
Expand Down
Expand Up @@ -45,7 +45,7 @@
import static java.nio.file.StandardOpenOption.DELETE_ON_CLOSE; import static java.nio.file.StandardOpenOption.DELETE_ON_CLOSE;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;
import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_LEFTSIBLING; import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_LEFTSIBLING;
import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_RIGHTSIBLING; import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_RIGHTSIBLING;
import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_SUCCESSOR; import static org.neo4j.index.internal.gbptree.TreeNode.BYTE_POS_SUCCESSOR;
Expand All @@ -68,7 +68,7 @@ public class CrashGenerationCleanerTest
private static final int PAGE_SIZE = 256; private static final int PAGE_SIZE = 256;


private PagedFile pagedFile; private PagedFile pagedFile;
private final Layout<MutableLong,MutableLong> layout = layout().build(); private final Layout<MutableLong,MutableLong> layout = longLayout().build();
private final CorruptibleTreeNode corruptibleTreeNode = new CorruptibleTreeNode( PAGE_SIZE, layout ); private final CorruptibleTreeNode corruptibleTreeNode = new CorruptibleTreeNode( PAGE_SIZE, layout );
private final int oldStableGeneration = 9; private final int oldStableGeneration = 9;
private final int stableGeneration = 10; private final int stableGeneration = 10;
Expand Down
Expand Up @@ -57,7 +57,7 @@
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;
import static org.neo4j.test.rule.PageCacheRule.config; import static org.neo4j.test.rule.PageCacheRule.config;


/** /**
Expand All @@ -79,8 +79,8 @@ public class FormatCompatibilityTest
public static List<Object[]> data() public static List<Object[]> data()
{ {
return asList( return asList(
new Object[] {layout().withFixedSize( true ).build(), CURRENT_FIXED_SIZE_FORMAT_ZIP}, new Object[] {longLayout().withFixedSize( true ).build(), CURRENT_FIXED_SIZE_FORMAT_ZIP},
new Object[] {layout().withFixedSize( false ).build(), CURRENT_DYNAMIC_SIZE_FORMAT_ZIP} ); new Object[] {longLayout().withFixedSize( false ).build(), CURRENT_DYNAMIC_SIZE_FORMAT_ZIP} );
} }


@Parameter @Parameter
Expand Down
Expand Up @@ -23,13 +23,13 @@


import org.neo4j.test.rule.RandomRule; import org.neo4j.test.rule.RandomRule;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class GBPTreeConcurrencyFIxedSizeIT extends GBPTreeConcurrencyITBase<MutableLong,MutableLong> public class GBPTreeConcurrencyFIxedSizeIT extends GBPTreeConcurrencyITBase<MutableLong,MutableLong>
{ {
@Override @Override
protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random ) protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random )
{ {
return layout().withKeyPadding( random.intBetween( 0, 10 ) ).build(); return longLayout().withKeyPadding( random.intBetween( 0, 10 ) ).build();
} }
} }
Expand Up @@ -23,14 +23,14 @@


import org.neo4j.test.rule.RandomRule; import org.neo4j.test.rule.RandomRule;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class GBPTreeFixedSizeIT extends GBPTreeITBase<MutableLong,MutableLong> public class GBPTreeFixedSizeIT extends GBPTreeITBase<MutableLong,MutableLong>
{ {
@Override @Override
protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random ) protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random )
{ {
return layout().withKeyPadding( random.intBetween( 0, 10 ) ).build(); return longLayout().withKeyPadding( random.intBetween( 0, 10 ) ).build();
} }


@Override @Override
Expand Down
Expand Up @@ -42,7 +42,7 @@
import static java.util.Arrays.asList; import static java.util.Arrays.asList;
import static org.neo4j.graphdb.config.Configuration.EMPTY; import static org.neo4j.graphdb.config.Configuration.EMPTY;
import static org.neo4j.index.internal.gbptree.GBPTree.NO_HEADER_READER; import static org.neo4j.index.internal.gbptree.GBPTree.NO_HEADER_READER;
import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


/** /**
* Tests functionality around process crashing, or similar, when having started, but not completed creation of an index file, * Tests functionality around process crashing, or similar, when having started, but not completed creation of an index file,
Expand Down Expand Up @@ -70,7 +70,7 @@ public void shouldDetectAndThrowIOExceptionOnPartiallyCreatedFile() throws Excep
// then reading it should either work or throw IOException // then reading it should either work or throw IOException
try ( PageCache pageCache = storage.pageCache() ) try ( PageCache pageCache = storage.pageCache() )
{ {
SimpleLongLayout layout = layout().build(); SimpleLongLayout layout = longLayout().build();


// check readHeader // check readHeader
try try
Expand Down Expand Up @@ -107,7 +107,7 @@ public static void main( String[] args ) throws IOException
try ( PageCache pageCache = new MuninnPageCache( swapper, 10, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL ) ) try ( PageCache pageCache = new MuninnPageCache( swapper, 10, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL ) )
{ {
fs.deleteFile( file ); fs.deleteFile( file );
new GBPTreeBuilder<>( pageCache, file, layout().build() ).build().close(); new GBPTreeBuilder<>( pageCache, file, longLayout().build() ).build().close();
} }
} }
} }
Expand Down
Expand Up @@ -21,13 +21,13 @@


import org.apache.commons.lang3.mutable.MutableLong; import org.apache.commons.lang3.mutable.MutableLong;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class GBPTreeReadWriteFixedSizeTest extends GBPTreeReadWriteTestBase<MutableLong,MutableLong> public class GBPTreeReadWriteFixedSizeTest extends GBPTreeReadWriteTestBase<MutableLong,MutableLong>
{ {
@Override @Override
TestLayout<MutableLong,MutableLong> getLayout() TestLayout<MutableLong,MutableLong> getLayout()
{ {
return layout().build(); return longLayout().build();
} }
} }
Expand Up @@ -23,13 +23,13 @@


import org.neo4j.test.rule.RandomRule; import org.neo4j.test.rule.RandomRule;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class GBPTreeRecoveryFixedSizeIT extends GBPTreeRecoveryITBase<MutableLong,MutableLong> public class GBPTreeRecoveryFixedSizeIT extends GBPTreeRecoveryITBase<MutableLong,MutableLong>
{ {
@Override @Override
protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random ) protected TestLayout<MutableLong,MutableLong> getLayout( RandomRule random )
{ {
return layout().withKeyPadding( random.intBetween( 0, 10 ) ).build(); return longLayout().withKeyPadding( random.intBetween( 0, 10 ) ).build();
} }
} }
Expand Up @@ -80,7 +80,7 @@
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import static org.junit.rules.RuleChain.outerRule; import static org.junit.rules.RuleChain.outerRule;
import static org.neo4j.index.internal.gbptree.GBPTree.NO_HEADER_READER; import static org.neo4j.index.internal.gbptree.GBPTree.NO_HEADER_READER;
import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;
import static org.neo4j.index.internal.gbptree.ThrowingRunnable.throwing; import static org.neo4j.index.internal.gbptree.ThrowingRunnable.throwing;
import static org.neo4j.io.pagecache.IOLimiter.unlimited; import static org.neo4j.io.pagecache.IOLimiter.unlimited;
import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_WRITE_LOCK; import static org.neo4j.io.pagecache.PagedFile.PF_SHARED_WRITE_LOCK;
Expand All @@ -91,7 +91,7 @@ public class GBPTreeTest
{ {
private static final int DEFAULT_PAGE_SIZE = 256; private static final int DEFAULT_PAGE_SIZE = 256;


private static final Layout<MutableLong,MutableLong> layout = layout().build(); private static final Layout<MutableLong,MutableLong> layout = longLayout().build();


private final DefaultFileSystemRule fs = new DefaultFileSystemRule(); private final DefaultFileSystemRule fs = new DefaultFileSystemRule();
private final TestDirectory directory = TestDirectory.testDirectory( getClass(), fs.get() ); private final TestDirectory directory = TestDirectory.testDirectory( getClass(), fs.get() );
Expand Down Expand Up @@ -144,7 +144,7 @@ public void shouldFailToOpenOnDifferentMetaData() throws Exception
} }


// WHEN // WHEN
SimpleLongLayout otherLayout = layout().withCustomerNameAsMetaData( "Something else" ).build(); SimpleLongLayout otherLayout = longLayout().withCustomerNameAsMetaData( "Something else" ).build();
try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() ) try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() )
{ {
fail( "Should not load" ); fail( "Should not load" );
Expand All @@ -167,7 +167,7 @@ public void shouldFailToOpenOnDifferentLayout() throws Exception
} }


// WHEN // WHEN
SimpleLongLayout otherLayout = layout().withIdentifier( 123456 ).build(); SimpleLongLayout otherLayout = longLayout().withIdentifier( 123456 ).build();
try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() ) try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() )
{ {
fail( "Should not load" ); fail( "Should not load" );
Expand All @@ -187,7 +187,7 @@ public void shouldFailToOpenOnDifferentMajorVersion() throws Exception
} }


// WHEN // WHEN
SimpleLongLayout otherLayout = layout().withMajorVersion( 123 ).build(); SimpleLongLayout otherLayout = longLayout().withMajorVersion( 123 ).build();
try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() ) try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() )
{ {
fail( "Should not load" ); fail( "Should not load" );
Expand All @@ -207,7 +207,7 @@ public void shouldFailToOpenOnDifferentMinorVersion() throws Exception
} }


// WHEN // WHEN
SimpleLongLayout otherLayout = layout().withMinorVersion( 123 ).build(); SimpleLongLayout otherLayout = longLayout().withMinorVersion( 123 ).build();
try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() ) try ( GBPTree<MutableLong,MutableLong> ignored = index().with( otherLayout ).build() )
{ {
fail( "Should not load" ); fail( "Should not load" );
Expand Down Expand Up @@ -356,7 +356,7 @@ public void shouldFailWhenTryingToOpenWithDifferentFormatIdentifier() throws Exc
try try
{ {
// WHEN // WHEN
builder.with( layout().withFixedSize( false ).build() ).build(); builder.with( longLayout().withFixedSize( false ).build() ).build();
fail( "Should have failed" ); fail( "Should have failed" );
} }
catch ( MetadataMismatchException e ) catch ( MetadataMismatchException e )
Expand Down
Expand Up @@ -21,11 +21,11 @@


import org.apache.commons.lang3.mutable.MutableLong; import org.apache.commons.lang3.mutable.MutableLong;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class InternalTreeLogicFixedSizeTest extends InternalTreeLogicTestBase<MutableLong,MutableLong> public class InternalTreeLogicFixedSizeTest extends InternalTreeLogicTestBase<MutableLong,MutableLong>
{ {
SimpleLongLayout layout = layout().build(); SimpleLongLayout layout = longLayout().build();


@Override @Override
protected ValueMerger<MutableLong,MutableLong> getAdder() protected ValueMerger<MutableLong,MutableLong> getAdder()
Expand Down
Expand Up @@ -33,7 +33,7 @@
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.neo4j.index.internal.gbptree.GBPTreeTestUtil.contains; import static org.neo4j.index.internal.gbptree.GBPTreeTestUtil.contains;
import static org.neo4j.index.internal.gbptree.KeySearch.search; import static org.neo4j.index.internal.gbptree.KeySearch.search;
import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;
import static org.neo4j.index.internal.gbptree.TreeNode.Overflow.NO; import static org.neo4j.index.internal.gbptree.TreeNode.Overflow.NO;
import static org.neo4j.index.internal.gbptree.TreeNode.Type.INTERNAL; import static org.neo4j.index.internal.gbptree.TreeNode.Type.INTERNAL;
import static org.neo4j.index.internal.gbptree.TreeNode.Type.LEAF; import static org.neo4j.index.internal.gbptree.TreeNode.Type.LEAF;
Expand All @@ -47,7 +47,7 @@ public class KeySearchTest
private static final int KEY_COUNT = 10; private static final int KEY_COUNT = 10;
private static final int PAGE_SIZE = 512; private static final int PAGE_SIZE = 512;
private final PageCursor cursor = wrap( new byte[PAGE_SIZE], 0, PAGE_SIZE ); private final PageCursor cursor = wrap( new byte[PAGE_SIZE], 0, PAGE_SIZE );
private final Layout<MutableLong,MutableLong> layout = layout().build(); private final Layout<MutableLong,MutableLong> layout = longLayout().build();
private final TreeNode<MutableLong,MutableLong> node = new TreeNodeFixedSize<>( PAGE_SIZE, layout ); private final TreeNode<MutableLong,MutableLong> node = new TreeNodeFixedSize<>( PAGE_SIZE, layout );
private final MutableLong readKey = layout.newKey(); private final MutableLong readKey = layout.newKey();
private final MutableLong searchKey = layout.newKey(); private final MutableLong searchKey = layout.newKey();
Expand Down
Expand Up @@ -21,14 +21,14 @@


import org.apache.commons.lang3.mutable.MutableLong; import org.apache.commons.lang3.mutable.MutableLong;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class SeekCursorFixedSizeTest extends SeekCursorTestBase<MutableLong,MutableLong> public class SeekCursorFixedSizeTest extends SeekCursorTestBase<MutableLong,MutableLong>
{ {
@Override @Override
TestLayout<MutableLong,MutableLong> getLayout() TestLayout<MutableLong,MutableLong> getLayout()
{ {
return layout().build(); return longLayout().build();
} }


@Override @Override
Expand Down
Expand Up @@ -85,7 +85,7 @@ SimpleLongLayout build()
} }
} }


static Builder layout() static Builder longLayout()
{ {
return new Builder(); return new Builder();
} }
Expand Down
Expand Up @@ -23,11 +23,11 @@


import org.neo4j.io.pagecache.PageCursor; import org.neo4j.io.pagecache.PageCursor;


import static org.neo4j.index.internal.gbptree.SimpleLongLayout.layout; import static org.neo4j.index.internal.gbptree.SimpleLongLayout.longLayout;


public class TreeNodeFixedSizeTest extends TreeNodeTestBase<MutableLong,MutableLong> public class TreeNodeFixedSizeTest extends TreeNodeTestBase<MutableLong,MutableLong>
{ {
private final SimpleLongLayout layout = layout().build(); private final SimpleLongLayout layout = longLayout().build();


@Override @Override
protected TestLayout<MutableLong,MutableLong> getLayout() protected TestLayout<MutableLong,MutableLong> getLayout()
Expand Down
Expand Up @@ -98,9 +98,8 @@ public IndexAccessor getOnlineAccessor(
{ {
File storeFile = nativeIndexFileFromIndexId( indexId ); File storeFile = nativeIndexFileFromIndexId( indexId );
NumberLayout layout = layout( descriptor ); NumberLayout layout = layout( descriptor );
return new NumberSchemaIndexAccessor<>( return new NumberSchemaIndexAccessor<>( pageCache, fs, storeFile, layout, recoveryCleanupWorkCollector, monitor,
pageCache, fs, storeFile, layout, recoveryCleanupWorkCollector, monitor, descriptor, indexId, descriptor, indexId, samplingConfig );
samplingConfig );
} }


private NumberLayout layout( IndexDescriptor descriptor ) private NumberLayout layout( IndexDescriptor descriptor )
Expand Down Expand Up @@ -151,8 +150,7 @@ public InternalIndexState getInitialState( long indexId, IndexDescriptor descrip
try try
{ {
NativeSchemaIndexHeaderReader headerReader = new NativeSchemaIndexHeaderReader(); NativeSchemaIndexHeaderReader headerReader = new NativeSchemaIndexHeaderReader();
GBPTree.readHeader( pageCache, nativeIndexFileFromIndexId( indexId ), layout( descriptor ), GBPTree.readHeader( pageCache, nativeIndexFileFromIndexId( indexId ), layout( descriptor ), headerReader );
headerReader );
switch ( headerReader.state ) switch ( headerReader.state )
{ {
case BYTE_FAILED: case BYTE_FAILED:
Expand Down

0 comments on commit 5fa0ed8

Please sign in to comment.