Module convex.peer
Package convex.api

Class ConvexDirect

java.lang.Object
convex.api.Convex
convex.api.ConvexDirect
All Implemented Interfaces:
AutoCloseable

public class ConvexDirect extends Convex
Convex API instance that directly interacts with a Peer instance
  • Field Details

    • peer

      protected Peer peer
  • Constructor Details

  • Method Details

    • create

      public static ConvexDirect create(AKeyPair peerKey, State state)
    • isConnected

      public boolean isConnected()
      Description copied from class: Convex
      Checks if this Convex client instance has an open connection.
      Specified by:
      isConnected in class Convex
      Returns:
      true if connected, false otherwise
    • transact

      public CompletableFuture<Result> transact(SignedData<ATransaction> signedTransaction)
      Description copied from class: Convex
      Submits a signed transaction to the Convex network, returning a Future once the transaction has been successfully queued. Updates cached sequence number on best effort basis.
      Specified by:
      transact in class Convex
      Parameters:
      signedTransaction - Signed transaction to execute
      Returns:
      A Future for the result of the transaction
    • messageRaw

      public CompletableFuture<Result> messageRaw(Blob message)
      Description copied from class: Convex
      Submits raw message data to the Convex network, returning a Future for any Result
      Specified by:
      messageRaw in class Convex
      Parameters:
      message - Raw message data
      Returns:
      A Future for the result of the query
    • message

      public CompletableFuture<Result> message(Message message)
      Description copied from class: Convex
      Submits a Message to the connected peer, returning a Future for any Result
      Specified by:
      message in class Convex
      Parameters:
      message - Message data
      Returns:
      A Future for the Result of the query. May just be "Sent" if no other result expected, or an immediate error if sending failed.
    • acquire

      public <T extends ACell> CompletableFuture<T> acquire(Hash hash, AStore store)
      Description copied from class: Convex
      Attempts to acquire a complete persistent data structure for the given hash from the connected peer. Uses the store provided as a destination.
      Specified by:
      acquire in class Convex
      Parameters:
      hash - Hash of value to acquire.
      store - Store to acquire the persistent data to.
      Returns:
      Future for the Cell being acquired. May fail exceptionally or timeout if the given data cannot be acquired (most likely missing from the peer's store)
    • requestStatus

      public CompletableFuture<Result> requestStatus()
      Description copied from class: Convex
      Submits a status request to the Convex network peer, returning a Future once the request has been successfully queued.
      Specified by:
      requestStatus in class Convex
      Returns:
      A Future for the result of the requestStatus
    • requestChallenge

      public CompletableFuture<Result> requestChallenge(SignedData<ACell> data)
      Description copied from class: Convex
      Request a challenge. This is request is made by any peer that needs to find out if another peer can be trusted.
      Specified by:
      requestChallenge in class Convex
      Parameters:
      data - Signed data to send to the peer for the challenge.
      Returns:
      A Future for the result of the requestChallenge
    • query

      public CompletableFuture<Result> query(ACell query, Address address)
      Description copied from class: Convex
      Submits a query to the Convex network, returning a Future once the query has been successfully queued.
      Specified by:
      query in class Convex
      Parameters:
      query - Query to execute, as a Form or Op
      address - Address to use for the query
      Returns:
      A Future for the result of the query
    • close

      public void close()
      Description copied from class: Convex
      Disconnects the client from the network, releasing any connection resources.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in class Convex
    • toString

      public String toString()
      Specified by:
      toString in class Convex
    • getHostAddress

      public InetSocketAddress getHostAddress()
      Description copied from class: Convex
      Gets the remote address for this Convex client instance
      Specified by:
      getHostAddress in class Convex
      Returns:
      Socket address
    • reconnect

      public void reconnect() throws IOException, TimeoutException, InterruptedException
      Specified by:
      reconnect in class Convex
      Throws:
      IOException
      TimeoutException
      InterruptedException