Module com.hedera.hashgraph.sdk
Package com.hedera.hashgraph.sdk.proto
Class FileServiceGrpc.FileServiceFutureStub
java.lang.Object
io.grpc.stub.AbstractStub<FileServiceGrpc.FileServiceFutureStub>
io.grpc.stub.AbstractFutureStub<FileServiceGrpc.FileServiceFutureStub>
com.hedera.hashgraph.sdk.proto.FileServiceGrpc.FileServiceFutureStub
- Enclosing class:
FileServiceGrpc
public static final class FileServiceGrpc.FileServiceFutureStub
extends io.grpc.stub.AbstractFutureStub<FileServiceGrpc.FileServiceFutureStub>
A stub to allow clients to do ListenableFuture-style rpc calls to service FileService.
Service gRPC definitions for the Hedera File Service (HFS). #### Signature Requirements The HFS manages file authorization differently, depending on type of file transaction, and this can be surprising.<br/> The core element of file authorization is the `keys` field, which is a `KeyList`; a list of individual `Key` messages, each of which may represent a simple or complex key.<br/> The file service transactions treat this list differently.<br/> A `fileCreate`, `fileAppend`, or `fileUpdate` MUST have a valid signature from _each_ key in the list.<br/> A `fileDelete` MUST have a valid signature from _at least one_ key in the list. This is different, and allows a file "owned" by many entities to be deleted by any one of those entities. A deleted file cannot be restored, so it is important to consider this when assigning keys for a file.<br/> If any of the keys in a `KeyList` are complex, the full requirements of each complex key must be met to count as a "valid signature" for that key. A complex key structure (i.e. a `ThresholdKey`, or `KeyList`, possibly including additional `ThresholdKey` or `KeyList` descendants) may be assigned as the sole entry in a file `keys` field to ensure all transactions have the same signature requirements.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub
io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>> -
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.util.concurrent.ListenableFuture<TransactionResponse> appendContent(Transaction request) Append content to a file in HFS.protected FileServiceGrpc.FileServiceFutureStubbuild(io.grpc.Channel channel, io.grpc.CallOptions callOptions) com.google.common.util.concurrent.ListenableFuture<TransactionResponse> createFile(Transaction request) Create a file in HFS.com.google.common.util.concurrent.ListenableFuture<TransactionResponse> deleteFile(Transaction request) Delete a file in HFS.<br/> The content of a file deleted in this manner is completely removed from network state, but the file metadata remains.com.google.common.util.concurrent.ListenableFuture<Response> getFileContent(Query request) Retrieve the content of a file in HFS.<br/> Note that this query retrieves _only_ the file content, not any of the metadata for the file.com.google.common.util.concurrent.ListenableFuture<Response> getFileInfo(Query request) Retrieve the metadata for a file in HFS.<br/> Note that this query does not retrieve the file _content_.com.google.common.util.concurrent.ListenableFuture<TransactionResponse> systemDelete(Transaction request) Delete a "regular" file without "owner" authorization.<br/> This transaction _does not_ require signatures for the keys in the file `keys` list, but must be signed by a "privileged" account.com.google.common.util.concurrent.ListenableFuture<TransactionResponse> systemUndelete(Transaction request) Undelete a "regular" file.com.google.common.util.concurrent.ListenableFuture<TransactionResponse> updateFile(Transaction request) Update a file in HFS.Methods inherited from class io.grpc.stub.AbstractFutureStub
newStub, newStubMethods inherited from class io.grpc.stub.AbstractStub
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady
-
Method Details
-
build
protected FileServiceGrpc.FileServiceFutureStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) - Specified by:
buildin classio.grpc.stub.AbstractStub<FileServiceGrpc.FileServiceFutureStub>
-
createFile
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> createFile(Transaction request) Create a file in HFS.
-
updateFile
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> updateFile(Transaction request) Update a file in HFS.
-
deleteFile
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> deleteFile(Transaction request) Delete a file in HFS.<br/> The content of a file deleted in this manner is completely removed from network state, but the file metadata remains.
-
appendContent
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> appendContent(Transaction request) Append content to a file in HFS.
-
getFileContent
Retrieve the content of a file in HFS.<br/> Note that this query retrieves _only_ the file content, not any of the metadata for the file.
-
getFileInfo
Retrieve the metadata for a file in HFS.<br/> Note that this query does not retrieve the file _content_.
-
systemDelete
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> systemDelete(Transaction request) Delete a "regular" file without "owner" authorization.<br/> This transaction _does not_ require signatures for the keys in the file `keys` list, but must be signed by a "privileged" account. <p> This transaction SHALL NOT accept a file identifier for a "system" file.<br/> This transaction SHALL NOT remove the _content_ of the file from state. This permits use of the `systemUndelete` to reverse this action if performed in error. <p> This is a privileged transaction, and only accounts 2-59 are permitted to call this function, by default. The actual restriction is in the `api-permission.properties` file in the consensus node configuration.
-
systemUndelete
public com.google.common.util.concurrent.ListenableFuture<TransactionResponse> systemUndelete(Transaction request) Undelete a "regular" file. This transaction must be signed by a "privileged" account.<br/> <p> This transaction SHALL NOT accept a file identifier for a "system" file.<br/> The file identified SHOULD have been previously deleted.<br/> This transaction SHALL NOT recover the _content_ of a file unless that file was deleted with a `systemDelete` transaction. The _content_ of a file deleted with a `fileDelete` transaction is not retained in state. <p> This is a privileged transaction, and only accounts 2-60 are permitted to call this function, by default. The actual restriction is in the `api-permission.properties` file in the consensus node configuration.
-