package com.atlassian.bitbucket.internal.scm.git.lfs.mirror;

import com.atlassian.bitbucket.repository.Repository;
import org.springframework.beans.factory.DisposableBean;

import javax.annotation.Nonnull;
import java.io.OutputStream;

public interface UpstreamLfsClient extends DisposableBean {

    /**
     * Requests a large file from the upstream.
     *
     * @param repository   the repository containing the file
     * @param oid          the object ID of the file
     * @param outputStream where the contents of the requested file will be written.
     */
    void requestObject(@Nonnull Repository repository, @Nonnull String oid, @Nonnull OutputStream outputStream);
}
