src/Rxnet/EventStore/EventStore.php
public function catchUpSubscription(
        string $streamId,
        int $startFrom = self::POSITION_START,
        bool $resolveLink = false
    ): Observable {
        return $this->readEventsForward($streamId, $startFrom, self::DEFAULT_MAX_EVENTS, $resolveLink)
            ->concat($this->volatileSubscription($streamId, $resolveLink));
    }
public function catchUpSubscription(
        string $streamId,
        int $startFrom = self::POSITION_START,
        bool $resolveLink = false
    ): Observable {
        return $this->readEventsForward($streamId, $startFrom, self::DEFAULT_MAX_EVENTS, $resolveLink)
            ->concat($this->volatileSubscription($streamId, $resolveLink));
    }
public function catchUpSubscription ( string $ streamId , int $ startFrom = self :: POSITION_START , bool $ resolveLink = false ) : Observable { return $ this -> readEventsForward ( $ streamId , $ startFrom , self :: DEFAULT_MAX_EVENTS , $ resolveLink ) -> concat ( $ this -> volatileSubscription ( $ streamId , $ resolveLink ) ) ; }
This kind of subscription specifies a starting point, in the form of an event number
or transaction file position.
The given function will be called for events from the starting point until the end of the stream,
and then for subsequently written events.

For example, if a starting point of 50 is specified when a stream has 100 events in it,
the subscriber can expect to see events 51 through 100, and then any events subsequently
written until such time as the subscription is dropped or closed.

@throws \Exception
This kind of subscription specifies a starting point in the form of an event number or transaction file position . The given function will be called for events from the starting point until the end of the stream and then for subsequently written events .