Interface FileServiceGrpc.AsyncService

All Known Implementing Classes:
FileServiceGrpc.FileServiceImplBase
Enclosing class:
FileServiceGrpc

public static interface FileServiceGrpc.AsyncService

 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.
 
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    appendContent(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    Append content to a file in HFS.
    default void
    createFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    Create a file in HFS.
    default void
    deleteFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    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.
    default void
    getFileContent(Query request, io.grpc.stub.StreamObserver<Response> responseObserver)
    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.
    default void
    getFileInfo(Query request, io.grpc.stub.StreamObserver<Response> responseObserver)
    Retrieve the metadata for a file in HFS.<br/> Note that this query does not retrieve the file _content_.
    default void
    systemDelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    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.
    default void
    systemUndelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    Undelete a "regular" file.
    default void
    updateFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
    Update a file in HFS.
  • Method Details

    • createFile

      default void createFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       Create a file in HFS.
       
    • updateFile

      default void updateFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       Update a file in HFS.
       
    • deleteFile

      default void deleteFile(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       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

      default void appendContent(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       Append content to a file in HFS.
       
    • getFileContent

      default void getFileContent(Query request, io.grpc.stub.StreamObserver<Response> responseObserver)
      
       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

      default void getFileInfo(Query request, io.grpc.stub.StreamObserver<Response> responseObserver)
      
       Retrieve the metadata for a file in HFS.<br/>
       Note that this query does not retrieve the file _content_.
       
    • systemDelete

      default void systemDelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       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

      default void systemUndelete(Transaction request, io.grpc.stub.StreamObserver<TransactionResponse> responseObserver)
      
       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.