Package convex.peer
Class TransactionHandler
java.lang.Object
convex.peer.AThreadedComponent
convex.peer.TransactionHandler
Server component for handling client transactions and producing Blocks
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected long
protected final ArrayBlockingQueue<Message>
Queue for incoming (unverified) transaction messagesFields inherited from class convex.peer.AThreadedComponent
server, thread
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close this threaded component, including interrupting any running thread(s).int
protected String
boolean
protected void
loop()
protected SignedData<Block>
maybeGenerateBlock
(Peer peer) Checks for pending transactions, and if found propose them as a new Block.void
maybeReportTransactions
(Peer peer) boolean
Offer a transaction for handlingprotected void
void
start()
Start the threaded componentMethods inherited from class convex.peer.AThreadedComponent
finalize, getLoad
-
Field Details
-
txMessageQueue
Queue for incoming (unverified) transaction messages -
lastBlockPublishedTime
protected long lastBlockPublishedTime
-
-
Constructor Details
-
TransactionHandler
-
-
Method Details
-
offerTransaction
Offer a transaction for handling- Parameters:
m
- Message offered- Returns:
- True if queued for handling, false otherwise
-
processMessage
-
maybeReportTransactions
-
maybeGenerateBlock
Checks for pending transactions, and if found propose them as a new Block.- Returns:
- True if a new block is published, false otherwise.
-
close
public void close()Description copied from class:AThreadedComponent
Close this threaded component, including interrupting any running thread(s). Subclasses may override, but should call `super.close()` to close the main thread- Overrides:
close
in classAThreadedComponent
-
start
public void start()Description copied from class:AThreadedComponent
Start the threaded component- Overrides:
start
in classAThreadedComponent
-
isAwaitingResults
public boolean isAwaitingResults() -
countInterests
public int countInterests() -
loop
- Specified by:
loop
in classAThreadedComponent
- Throws:
InterruptedException
-
getThreadName
- Specified by:
getThreadName
in classAThreadedComponent
-