org.interledger.stream.sender.StreamSender Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stream-client Show documentation
Show all versions of stream-client Show documentation
Libraries for the STREAM client.
package org.interledger.stream.sender;
import org.interledger.stream.SendMoneyRequest;
import org.interledger.stream.SendMoneyResult;
import java.util.concurrent.CompletableFuture;
/**
* Defines a STREAM Client according to IL-RFC-29.
*
* @see "https://github.com/interledger/rfcs/blob/master/0029-stream/0029-stream.md"
*/
public interface StreamSender {
/**
* Send "money" (i.e., some unit of value) from a source ILP address to a destination address, preventing any
* unsent STREAM packets from becoming enqueued if the optional payment timeout has been exceeded.
*
* Note that, per https://github.com/hyperledger/quilt/issues/242, as of the publication of this client,
* connectors will reject ILP packets that exceed 32kb (though there is no hard rule that more than 32kb will not be
* supported in the future.
*
* @param request all relevant details about the money to send
*
* @return results of the request to send money
*/
CompletableFuture sendMoney(SendMoneyRequest request);
}