Class FailOnCloseDataSink
- java.lang.Object
-
- com.google.android.exoplayer2.testutil.FailOnCloseDataSink
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FailOnCloseDataSink.Factory
Factory to create aFailOnCloseDataSink
.
-
Constructor Summary
Constructors Constructor Description FailOnCloseDataSink(Cache cache, AtomicBoolean failOnClose)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the sink.void
open(DataSpec dataSpec)
Opens the sink to consume the specified data.void
write(byte[] buffer, int offset, int length)
Consumes the provided data.
-
-
-
Constructor Detail
-
FailOnCloseDataSink
public FailOnCloseDataSink(Cache cache, AtomicBoolean failOnClose)
Creates an instance.- Parameters:
cache
- The cache to write to when not in fail-on-close mode.failOnClose
- AnAtomicBoolean
whose value is read in each call toopen(com.google.android.exoplayer2.upstream.DataSpec)
to determine whether to enable fail-on-close for the read that's being started.
-
-
Method Detail
-
open
public void open(DataSpec dataSpec) throws IOException
Description copied from interface:DataSink
Opens the sink to consume the specified data.Note: If an
IOException
is thrown, callers must still callDataSink.close()
to ensure that any partial effects of the invocation are cleaned up.- Specified by:
open
in interfaceDataSink
- Parameters:
dataSpec
- Defines the data to be consumed.- Throws:
IOException
- If an error occurs opening the sink.
-
write
public void write(byte[] buffer, int offset, int length) throws IOException
Description copied from interface:DataSink
Consumes the provided data.- Specified by:
write
in interfaceDataSink
- Parameters:
buffer
- The buffer from which data should be consumed.offset
- The offset of the data to consume inbuffer
.length
- The length of the data to consume, in bytes.- Throws:
IOException
- If an error occurs writing to the sink.
-
close
public void close() throws IOException
Description copied from interface:DataSink
Closes the sink.Note: This method must be called even if the corresponding call to
DataSink.open(DataSpec)
threw anIOException
. SeeDataSink.open(DataSpec)
for more details.- Specified by:
close
in interfaceDataSink
- Throws:
IOException
- If an error occurs closing the sink.
-
-