Package io.pravega.client.segment.impl
Class SegmentInputStreamFactoryImpl
- java.lang.Object
-
- io.pravega.client.segment.impl.SegmentInputStreamFactoryImpl
-
- All Implemented Interfaces:
SegmentInputStreamFactory
public class SegmentInputStreamFactoryImpl extends java.lang.Object implements SegmentInputStreamFactory
-
-
Constructor Summary
Constructors Constructor Description SegmentInputStreamFactoryImpl(Controller controller, ConnectionPool cp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventSegmentReadercreateEventReaderForSegment(Segment segment)Opens an existing segment for reading events.EventSegmentReadercreateEventReaderForSegment(Segment segment, int bufferSize)Opens an existing segment for reading.EventSegmentReadercreateEventReaderForSegment(Segment segment, int bufferSize, java.util.concurrent.Semaphore hasData, long endOffset)Open an existing segment for reading up to the provided end offset.EventSegmentReadercreateEventReaderForSegment(Segment segment, long startOffset, long endOffset)Opens an existing segment for reading events.SegmentInputStreamcreateInputStreamForSegment(Segment segment, DelegationTokenProvider tokenProvider)Opens an existing segment for reading bytes.SegmentInputStreamcreateInputStreamForSegment(Segment segment, DelegationTokenProvider tokenProvider, long startOffset)Opens an existing segment for reading bytes.
-
-
-
Constructor Detail
-
SegmentInputStreamFactoryImpl
@ConstructorProperties({"controller","cp"}) public SegmentInputStreamFactoryImpl(Controller controller, ConnectionPool cp)
-
-
Method Detail
-
createEventReaderForSegment
public EventSegmentReader createEventReaderForSegment(Segment segment)
Description copied from interface:SegmentInputStreamFactoryOpens an existing segment for reading events. This operation will fail if the segment does not exist. This operation may be called multiple times on the same segment from the same client (i.e., there can be concurrent Event Readers in the same process space).- Specified by:
createEventReaderForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.- Returns:
- New instance of EventSegmentReader for reading.
-
createEventReaderForSegment
public EventSegmentReader createEventReaderForSegment(Segment segment, long startOffset, long endOffset)
Description copied from interface:SegmentInputStreamFactoryOpens an existing segment for reading events. This operation will fail if the segment does not exist. This operation may be called multiple times on the same segment from the same client (i.e., there can be concurrent Event Readers in the same process space).- Specified by:
createEventReaderForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.startOffset- the start offset of the segment.endOffset- The end offset of the segment.- Returns:
- New instance of EventSegmentReader for reading.
-
createEventReaderForSegment
public EventSegmentReader createEventReaderForSegment(Segment segment, int bufferSize)
Description copied from interface:SegmentInputStreamFactoryOpens an existing segment for reading. This operation will fail if the segment does not exist. This operation may be called multiple times on the same segment from the same client (i.e., there can be concurrent Event Readers in the same process space). This operation additionally takes a buffer size parameter. This size is used to allocate buffer space for the bytes this reader reads from the segment. It is important to control the buffer size, e.g., when randomly reading events withEventStreamReader.fetchEvent(EventPointer)- Specified by:
createEventReaderForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.bufferSize- Size of the read buffer.- Returns:
- A segment event reader.
-
createEventReaderForSegment
public EventSegmentReader createEventReaderForSegment(Segment segment, int bufferSize, java.util.concurrent.Semaphore hasData, long endOffset)
Description copied from interface:SegmentInputStreamFactoryOpen an existing segment for reading up to the provided end offset. This operation will fail if the segment does not exist.- Specified by:
createEventReaderForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.bufferSize- The size of the buffer to hold for data incoming on this segment.hasData- A Semaphore that will have `release` called when data is available.endOffset- The offset up to which the segment can be read.- Returns:
- New instance of the EventSegmentReader for reading.
-
createInputStreamForSegment
public SegmentInputStream createInputStreamForSegment(Segment segment, DelegationTokenProvider tokenProvider)
Description copied from interface:SegmentInputStreamFactoryOpens an existing segment for reading bytes. This operation will fail if the segment does not exist. This operation may be called multiple times on the same stream from the same client (i.e., there can be concurrent Stream Readers in the same process space).- Specified by:
createInputStreamForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.tokenProvider- TheDelegationTokenProviderinstance to be used for obtaining a delegation token.- Returns:
- New instance of SegmentInputStream for reading.
-
createInputStreamForSegment
public SegmentInputStream createInputStreamForSegment(Segment segment, DelegationTokenProvider tokenProvider, long startOffset)
Description copied from interface:SegmentInputStreamFactoryOpens an existing segment for reading bytes. This operation will fail if the segment does not exist. This operation may be called multiple times on the same stream from the same client (i.e., there can be concurrent Stream Readers in the same process space).- Specified by:
createInputStreamForSegmentin interfaceSegmentInputStreamFactory- Parameters:
segment- The segment to create an input for.tokenProvider- TheDelegationTokenProviderinstance to be used for obtaining a delegation token.startOffset- The start offset of the segment.- Returns:
- New instance of SegmentInputStream for reading.
-
-