diff --git a/README.md b/README.md index 183bf64a0..fc988820d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This is a Byzantine fault-tolerant state machine replication project named BFT-SMaRt, a Java open source library maintained by the LASIGE Computer Science and Engineering Research Centre at the University of Lisbon. -This package contains the source code (src/), dependencies (lib/), documentation (doc/), running scripts (runscripts/), and configuration files (config/) for version 2.0 of the project. +This package contains the source code (src/), dependencies (lib/), documentation (docs/), running scripts (runscripts/), and configuration files (config/) for version 2.0 of the project. ## Quick start diff --git a/build.gradle b/build.gradle index 43793340c..18aac27d1 100644 --- a/build.gradle +++ b/build.gradle @@ -162,6 +162,13 @@ distributions { } } +tasks.withType(Javadoc) { + failOnError false + options.addStringOption('Xdoclint:none', '-quiet') + options.addStringOption('encoding', 'UTF-8') + options.addStringOption('charSet', 'UTF-8') +} + dependencies { implementation fileTree('lib'){include '*.jar'} // https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on diff --git a/doc/allclasses-frame.html b/doc/allclasses-frame.html deleted file mode 100644 index 8128ac6ed..000000000 --- a/doc/allclasses-frame.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -All Classes - - - - - -

All Classes

-
- -
- - diff --git a/doc/allclasses-noframe.html b/doc/allclasses-noframe.html deleted file mode 100644 index f515a05f2..000000000 --- a/doc/allclasses-noframe.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -All Classes - - - - - -

All Classes

-
- -
- - diff --git a/doc/bftsmart/reconfiguration/package-frame.html b/doc/bftsmart/reconfiguration/package-frame.html deleted file mode 100644 index e0210813d..000000000 --- a/doc/bftsmart/reconfiguration/package-frame.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -bftsmart.reconfiguration - - - - - -

bftsmart.reconfiguration

-
-

Classes

- -
- - diff --git a/doc/bftsmart/reconfiguration/package-summary.html b/doc/bftsmart/reconfiguration/package-summary.html deleted file mode 100644 index 2a533dc6e..000000000 --- a/doc/bftsmart/reconfiguration/package-summary.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - -bftsmart.reconfiguration - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Package bftsmart.reconfiguration

-
-
- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/reconfiguration/package-tree.html b/doc/bftsmart/reconfiguration/package-tree.html deleted file mode 100644 index ea9e4876d..000000000 --- a/doc/bftsmart/reconfiguration/package-tree.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - -bftsmart.reconfiguration Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.reconfiguration

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/AsynchServiceProxy.html b/doc/bftsmart/tom/AsynchServiceProxy.html deleted file mode 100644 index 01ebe1256..000000000 --- a/doc/bftsmart/tom/AsynchServiceProxy.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - -AsynchServiceProxy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom
-

Class AsynchServiceProxy

-
-
- -
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/ServiceReplica.html b/doc/bftsmart/tom/ServiceReplica.html deleted file mode 100644 index 841ba138b..000000000 --- a/doc/bftsmart/tom/ServiceReplica.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - -ServiceReplica - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom
-

Class ServiceReplica

-
-
- -
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/package-frame.html b/doc/bftsmart/tom/package-frame.html deleted file mode 100644 index de8dd158a..000000000 --- a/doc/bftsmart/tom/package-frame.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -bftsmart.tom - - - - - -

bftsmart.tom

-
-

Classes

- -
- - diff --git a/doc/bftsmart/tom/package-tree.html b/doc/bftsmart/tom/package-tree.html deleted file mode 100644 index 9733f63c8..000000000 --- a/doc/bftsmart/tom/package-tree.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - -bftsmart.tom Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.tom

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/Executable.html b/doc/bftsmart/tom/server/Executable.html deleted file mode 100644 index 3d0e26439..000000000 --- a/doc/bftsmart/tom/server/Executable.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - -Executable - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom.server
-

Interface Executable

-
-
-
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/SingleExecutable.html b/doc/bftsmart/tom/server/SingleExecutable.html deleted file mode 100644 index 457894aff..000000000 --- a/doc/bftsmart/tom/server/SingleExecutable.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -SingleExecutable - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom.server
-

Interface SingleExecutable

-
-
-
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/DefaultRecoverable.html b/doc/bftsmart/tom/server/defaultservices/DefaultRecoverable.html deleted file mode 100644 index bad4ffaea..000000000 --- a/doc/bftsmart/tom/server/defaultservices/DefaultRecoverable.html +++ /dev/null @@ -1,595 +0,0 @@ - - - - - -DefaultRecoverable - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom.server.defaultservices
-

Class DefaultRecoverable

-
-
- -
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.html b/doc/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.html deleted file mode 100644 index 6a57a4c6b..000000000 --- a/doc/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.html +++ /dev/null @@ -1,634 +0,0 @@ - - - - - -DefaultSingleRecoverable - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom.server.defaultservices
-

Class DefaultSingleRecoverable

-
-
- -
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/durability/DurabilityCoordinator.html b/doc/bftsmart/tom/server/defaultservices/durability/DurabilityCoordinator.html deleted file mode 100644 index 60fce60fd..000000000 --- a/doc/bftsmart/tom/server/defaultservices/durability/DurabilityCoordinator.html +++ /dev/null @@ -1,621 +0,0 @@ - - - - - -DurabilityCoordinator - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - - -
-
bftsmart.tom.server.defaultservices.durability
-

Class DurabilityCoordinator

-
-
- -
- -
-
- -
-
- -
-
- - -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/durability/package-frame.html b/doc/bftsmart/tom/server/defaultservices/durability/package-frame.html deleted file mode 100644 index 5117c4c0f..000000000 --- a/doc/bftsmart/tom/server/defaultservices/durability/package-frame.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -bftsmart.tom.server.defaultservices.durability - - - - - -

bftsmart.tom.server.defaultservices.durability

-
-

Classes

- -
- - diff --git a/doc/bftsmart/tom/server/defaultservices/durability/package-summary.html b/doc/bftsmart/tom/server/defaultservices/durability/package-summary.html deleted file mode 100644 index 55c49f8fc..000000000 --- a/doc/bftsmart/tom/server/defaultservices/durability/package-summary.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - -bftsmart.tom.server.defaultservices.durability - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Package bftsmart.tom.server.defaultservices.durability

-
-
- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/durability/package-tree.html b/doc/bftsmart/tom/server/defaultservices/durability/package-tree.html deleted file mode 100644 index d3249df08..000000000 --- a/doc/bftsmart/tom/server/defaultservices/durability/package-tree.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - -bftsmart.tom.server.defaultservices.durability Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.tom.server.defaultservices.durability

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/defaultservices/package-frame.html b/doc/bftsmart/tom/server/defaultservices/package-frame.html deleted file mode 100644 index 488f3e054..000000000 --- a/doc/bftsmart/tom/server/defaultservices/package-frame.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - -bftsmart.tom.server.defaultservices - - - - - -

bftsmart.tom.server.defaultservices

-
-

Classes

- -
- - diff --git a/doc/bftsmart/tom/server/defaultservices/package-tree.html b/doc/bftsmart/tom/server/defaultservices/package-tree.html deleted file mode 100644 index 4708f76bf..000000000 --- a/doc/bftsmart/tom/server/defaultservices/package-tree.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - -bftsmart.tom.server.defaultservices Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.tom.server.defaultservices

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/server/package-frame.html b/doc/bftsmart/tom/server/package-frame.html deleted file mode 100644 index bfa2c020c..000000000 --- a/doc/bftsmart/tom/server/package-frame.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -bftsmart.tom.server - - - - - -

bftsmart.tom.server

-
-

Interfaces

- -
- - diff --git a/doc/bftsmart/tom/server/package-tree.html b/doc/bftsmart/tom/server/package-tree.html deleted file mode 100644 index 160da379f..000000000 --- a/doc/bftsmart/tom/server/package-tree.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - -bftsmart.tom.server Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.tom.server

-Package Hierarchies: - -
-
-

Interface Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/util/package-frame.html b/doc/bftsmart/tom/util/package-frame.html deleted file mode 100644 index 5cbe2a023..000000000 --- a/doc/bftsmart/tom/util/package-frame.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - -bftsmart.tom.util - - - - - -

bftsmart.tom.util

-
-

Interfaces

- -
- - diff --git a/doc/bftsmart/tom/util/package-summary.html b/doc/bftsmart/tom/util/package-summary.html deleted file mode 100644 index 6b8ef3d65..000000000 --- a/doc/bftsmart/tom/util/package-summary.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -bftsmart.tom.util - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Package bftsmart.tom.util

-
-
- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/bftsmart/tom/util/package-tree.html b/doc/bftsmart/tom/util/package-tree.html deleted file mode 100644 index 6babcd012..000000000 --- a/doc/bftsmart/tom/util/package-tree.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - -bftsmart.tom.util Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For Package bftsmart.tom.util

-Package Hierarchies: - -
-
-

Interface Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/constant-values.html b/doc/constant-values.html deleted file mode 100644 index 0b28e3e1a..000000000 --- a/doc/constant-values.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - -Constant Field Values - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Constant Field Values

-

Contents

-
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/deprecated-list.html b/doc/deprecated-list.html deleted file mode 100644 index 90aaed1a9..000000000 --- a/doc/deprecated-list.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - -Deprecated List - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Deprecated API

-

Contents

- -
-
- - - -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/index-all.html b/doc/index-all.html deleted file mode 100644 index f6187f191..000000000 --- a/doc/index-all.html +++ /dev/null @@ -1,795 +0,0 @@ - - - - - -Index - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
A B C D E G I J K L M N O R S V  - - -

A

-
-
addServer(int, String, int) - Method in class bftsmart.reconfiguration.VMServices
-
-
Adds a new server to the group
-
-
appExecuteBatch(byte[][], MessageContext[], boolean) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
-
Execute a batch of ordered requests
-
-
appExecuteBatch(byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
-
Execute a batch of ordered requests
-
-
appExecuteOrdered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
-
Execute a batch of ordered requests
-
-
appExecuteUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
-
Execute an unordered request
-
-
appExecuteUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
-
Execute an unordered request
-
-
appExecuteUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
-
Execute an unordered request
-
-
AsynchServiceProxy - Class in bftsmart.tom
-
-
This class is an extension of 'ServiceProxy' that can waits for replies - asynchronously.
-
-
AsynchServiceProxy(int) - Constructor for class bftsmart.tom.AsynchServiceProxy
-
-
Constructor
-
-
AsynchServiceProxy(int, String) - Constructor for class bftsmart.tom.AsynchServiceProxy
-
-
Constructor
-
-
AsynchServiceProxy(int, String, KeyLoader) - Constructor for class bftsmart.tom.AsynchServiceProxy
-
-
Constructor
-
-
AsynchServiceProxy(int, String, Comparator<byte[]>, Extractor, KeyLoader) - Constructor for class bftsmart.tom.AsynchServiceProxy
-
-
Constructor
-
-
- - - -

B

-
-
BatchExecutable - Interface in bftsmart.tom.server
-
-
Executables that implement this interface will receive a batch of requests and - deliver them to the application in a deterministic way.
-
-
bftsmart.tom - package bftsmart.tom
-
 
-
bftsmart.tom.server - package bftsmart.tom.server
-
 
-
- - - -

C

-
-
canReceiveLock - Variable in class bftsmart.tom.ServiceProxy
-
 
-
canSendLock - Variable in class bftsmart.tom.ServiceProxy
-
 
-
cleanAsynchRequest(int) - Method in class bftsmart.tom.AsynchServiceProxy
-
-
Purges all information associated to the request.
-
-
- - - -

D

-
-
DefaultRecoverable - Class in bftsmart.tom.server.defaultservices
-
-
This class provides a basic state transfer protocol using the interface - 'BatchExecutable'.
-
-
DefaultRecoverable() - Constructor for class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
-
Constructor
-
-
DefaultSingleRecoverable - Class in bftsmart.tom.server.defaultservices
-
-
This class provides a basic state transfer protocol using the interface - 'SingleExecutable'.
-
-
DefaultSingleRecoverable() - Constructor for class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
DurabilityCoordinator - Class in bftsmart.tom.server.defaultservices.durability
-
-
Implements the Collaborative State Transfer protocol.
-
-
DurabilityCoordinator() - Constructor for class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
- - - -

E

-
-
Executable - Interface in bftsmart.tom.server
-
-
Executables that implement this interface can received unordered client requests.
-
-
executeBatch(byte[][], MessageContext[]) - Method in interface bftsmart.tom.server.BatchExecutable
-
-
Execute a batch of requests.
-
-
executeBatch(byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
executeBatch(byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
executeOrdered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
executeOrdered(byte[], MessageContext) - Method in interface bftsmart.tom.server.SingleExecutable
-
-
Method called to execute a request totally ordered.
-
-
executeUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
executeUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
executeUnordered(byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
executeUnordered(byte[], MessageContext) - Method in interface bftsmart.tom.server.Executable
-
-
Method called to execute a request totally ordered.
-
-
Extractor - Interface in bftsmart.tom.util
-
-
Provides support for building custom response extractors to be used in the - ServiceProxy.
-
-
extractResponse(TOMMessage[], int, int) - Method in interface bftsmart.tom.util.Extractor
-
-
Extracts a reply given a set of replies from a set of replicas.
-
-
- - - -

G

-
-
getConsensusId() - Method in class bftsmart.tom.MessageContext
-
-
Returns the ID of the consensus in which this request was ordered (-1 - if readonly).
-
-
getCurrentStateHash() - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
getCurrentView() - Method in class bftsmart.tom.ReplicaContext
-
-
Returns the current view of the replica group.
-
-
getFirstInBatch() - Method in class bftsmart.tom.MessageContext
-
-
Returns the first request in the ordered batch
-
-
getId() - Method in class bftsmart.tom.ServiceReplica
-
-
Replica ID
-
-
getInvokeTimeout() - Method in class bftsmart.tom.ServiceProxy
-
-
Get the amount of time (in seconds) that this proxy will wait for - servers replies before returning null.
-
-
getInvokeUnorderedHashedTimeout() - Method in class bftsmart.tom.ServiceProxy
-
-
Get the amount of time (in seconds) that this proxy will wait for - servers unordered hashed replies before returning null.
-
-
getLeader() - Method in class bftsmart.tom.MessageContext
-
-
Returns the id of the leader replica in which this message was ordered - (-1 if readonly).
-
-
getNonces() - Method in class bftsmart.tom.MessageContext
-
-
Returns the nonces as generated by the leader
-
-
getNumOfNonces() - Method in class bftsmart.tom.MessageContext
-
-
Returns the number of nonces as generated by the leader
-
-
getOperationId() - Method in class bftsmart.tom.MessageContext
-
-
Returns the operation ID
-
-
getOperationId() - Method in class bftsmart.tom.RequestContext
-
-
Returns the operation ID
-
-
getProof() - Method in class bftsmart.tom.MessageContext
-
-
Returns the proof for the consensus.
-
-
getRegency() - Method in class bftsmart.tom.MessageContext
-
-
Returns the current regency in which the message was ordered.
-
-
getReplicaContext() - Method in class bftsmart.tom.ServiceReplica
-
-
Obtains the current replica context (getting access to several - information and capabilities of the replication engine).
-
-
getReplyListener() - Method in class bftsmart.tom.RequestContext
-
-
Returns the reply listener associated to the request
-
-
getReplyQuorum() - Method in class bftsmart.tom.ServiceProxy
-
-
Retrieves the required quorum size for the amount of replies
-
-
getReplyServer() - Method in class bftsmart.tom.MessageContext
-
-
Returns the ID of the server expected to send a non-hashed reply when the clients sends an unordered hashed request.
-
-
getReqId() - Method in class bftsmart.tom.RequestContext
-
-
Returns the request unique ID
-
-
getRequest() - Method in class bftsmart.tom.RequestContext
-
-
The payload of the request
-
-
getRequestType() - Method in class bftsmart.tom.RequestContext
-
-
Returns the request type
-
-
getSeed() - Method in class bftsmart.tom.MessageContext
-
-
Returns the seed as generated by the leader
-
-
getSender() - Method in class bftsmart.tom.MessageContext
-
-
Returns the ID of the client that sent the message
-
-
getSendingTime() - Method in class bftsmart.tom.RequestContext
-
-
Returns the sending time
-
-
getSequence() - Method in class bftsmart.tom.MessageContext
-
-
Returns the request's sequence number
-
-
getServerCommunicationSystem() - Method in class bftsmart.tom.ReplicaContext
-
-
Returns the replica's communication system
-
-
getServerCommunicationSystem() - Method in class bftsmart.tom.ServiceReplica
-
-
Obtains the current replica communication system.
-
-
getSession() - Method in class bftsmart.tom.MessageContext
-
-
Returns the client's session
-
-
getSignature() - Method in class bftsmart.tom.MessageContext
-
-
Returns the client's signature.
-
-
getSignatureAlgorithm() - Method in interface bftsmart.tom.util.KeyLoader
-
-
Get the signature algorithm specified by the key.
-
-
getSnapshot() - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
-
Returns a serialized snapshot of the application state
-
-
getSnapshot() - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
-
Returns a serialized snapshot of the application state
-
-
getSnapshot() - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
-
Returns a serialized snapshot of the application state
-
-
getState(int, boolean) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
getState(int, boolean) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
getState(int, boolean) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
getState(CSTRequest) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
getState(int, boolean) - Method in interface bftsmart.tom.server.Recoverable
-
-
This method should return a representation of the application state
-
-
getStateManager() - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
getStateManager() - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
getStateManager() - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
getStateManager() - Method in interface bftsmart.tom.server.Recoverable
-
-
Recoverers implementing this interface will have to chose among - different options of state managers like DurableStateManager or - StandardStateManager.
-
-
getStaticConfiguration() - Method in class bftsmart.tom.ReplicaContext
-
-
Returns the static configuration of this replica.
-
-
getSVController() - Method in class bftsmart.tom.ReplicaContext
-
-
Returns the controller of the replica's view
-
-
getTargets() - Method in class bftsmart.tom.RequestContext
-
-
Returns the IDs of the targets to which the request was sent
-
-
getTimestamp() - Method in class bftsmart.tom.MessageContext
-
-
Returns the timestamp as generated by the leader
-
-
getType() - Method in class bftsmart.tom.MessageContext
-
-
Returns the request type
-
-
getViewID() - Method in class bftsmart.tom.MessageContext
-
-
Returns the view ID
-
-
- - - -

I

-
-
installSnapshot(byte[]) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
-
Given a snapshot received from the state transfer protocol, install it
-
-
installSnapshot(byte[]) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
-
Given a snapshot received from the state transfer protocol, install it
-
-
installSnapshot(byte[]) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
-
Given a snapshot received from the state transfer protocol, install it
-
-
invoke(byte[], TOMMessageType) - Method in class bftsmart.tom.ServiceProxy
-
-
This method sends a request to the replicas, and returns the related reply.
-
-
invokeAsynchRequest(byte[], ReplyListener, TOMMessageType) - Method in class bftsmart.tom.AsynchServiceProxy
-
 
-
invokeAsynchRequest(byte[], int[], ReplyListener, TOMMessageType) - Method in class bftsmart.tom.AsynchServiceProxy
-
-
This method asynchronously sends a request to the replicas.
-
-
invokeOrdered(byte[]) - Method in class bftsmart.tom.ServiceProxy
-
-
This method sends an ordered request to the replicas, and returns the related reply.
-
-
invokeUnordered(byte[]) - Method in class bftsmart.tom.ServiceProxy
-
-
This method sends an unordered request to the replicas, and returns the related reply.
-
-
invokeUnorderedHashed(byte[]) - Method in class bftsmart.tom.ServiceProxy
-
-
This method sends an unordered request to the replicas, and returns the related reply.
-
-
isLastInBatch() - Method in class bftsmart.tom.MessageContext
-
-
Returns the last request in the ordered batch
-
-
isNoOp() - Method in class bftsmart.tom.MessageContext
-
-
Returns true if the consensus instance has no operations to deliver to the application
-
-
isValidRequest(TOMMessage) - Method in interface bftsmart.tom.server.RequestVerifier
-
-
Given a request, validated it
-
-
- - - -

J

-
-
joinMsgReceived(VMMessage) - Method in class bftsmart.tom.ServiceReplica
-
-
Deprecated. 
-
-
- - - -

K

-
-
KeyLoader - Interface in bftsmart.tom.util
-
-
The KeyLoader interface is used internally by BFT-SMaRt to load signature keys from disk.
-
-
kill() - Method in class bftsmart.tom.ServiceReplica
-
-
Stops the service execution at a replica.
-
-
- - - -

L

-
-
loadPrivateKey() - Method in interface bftsmart.tom.util.KeyLoader
-
-
Fetches the private key for this replica/client.
-
-
loadPublicKey(int) - Method in interface bftsmart.tom.util.KeyLoader
-
-
Fetches the public key for the specified replica/client.
-
-
loadPublicKey() - Method in interface bftsmart.tom.util.KeyLoader
-
-
Fetches the public key for this replica/client.
-
-
- - - -

M

-
-
manageReply(TOMMessage, MessageContext) - Method in interface bftsmart.tom.server.Replier
-
-
Given an executed request, send it to a target
-
-
MessageContext - Class in bftsmart.tom
-
-
This class represents the whole context of a request ordered in the system.
-
-
MessageContext(int, int, TOMMessageType, int, int, int, int, byte[], long, int, long, int, int, int, Set<ConsensusMessage>, TOMMessage, boolean) - Constructor for class bftsmart.tom.MessageContext
-
-
Constructor
-
-
- - - -

N

-
-
noOp(int, byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
noOp(int, byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
noOp(int, byte[][], MessageContext[]) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
noOp(int, byte[][], MessageContext[]) - Method in interface bftsmart.tom.server.Recoverable
-
-
This method is invoked by ServiceReplica to indicate that a consensus instance - finished without delivering anything to the application (e.g., an instance - only decided a single reconfiguration operation.
-
-
- - - -

O

-
-
Op(int, byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
Op(int, byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
Op(int, byte[], MessageContext) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
Op(int, byte[], MessageContext) - Method in interface bftsmart.tom.server.Recoverable
-
-
This method is invoked by ServiceReplica to pass information that was - decided in a particular consensus instance.
-
-
- - - -

R

-
-
readOnly - Variable in class bftsmart.tom.MessageContext
-
 
-
receiveMessages(int[], int[], int[], CertifiedDecision[], TOMMessage[][]) - Method in class bftsmart.tom.ServiceReplica
-
-
Deprecated. 
-
-
receiveReadonlyMessage(TOMMessage, MessageContext) - Method in class bftsmart.tom.ServiceReplica
-
-
Deprecated. 
-
-
reconfigureTo(View) - Method in class bftsmart.tom.ServiceProxy
-
-
Deprecated. 
-
-
Recoverable - Interface in bftsmart.tom.server
-
-
Classes that implement this interface should implement a state transfer protocol.
-
-
recreateTOMMessage(byte[]) - Method in class bftsmart.tom.MessageContext
-
-
Generates a TOMMessage for its associated requests using the new info that it now supports since the previous commit.
-
-
removeServer(int) - Method in class bftsmart.reconfiguration.VMServices
-
-
Removes a server from the group
-
-
ReplicaContext - Class in bftsmart.tom
-
-
This class contains information related to the replica.
-
-
ReplicaContext(ServerCommunicationSystem, ServerViewController) - Constructor for class bftsmart.tom.ReplicaContext
-
-
Constructor
-
-
replicaContext - Variable in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
Replier - Interface in bftsmart.tom.server
-
-
Provides support for building custom reply management - to be used in the ServiceReplica.
-
-
replyReceived(TOMMessage) - Method in class bftsmart.tom.AsynchServiceProxy
-
-
This is the method invoked by the client side communication system.
-
-
replyReceived(TOMMessage) - Method in class bftsmart.tom.ServiceProxy
-
-
This is the method invoked by the client side communication system.
-
-
RequestContext - Class in bftsmart.tom
-
-
This class contains information related to a client request.
-
-
RequestContext(int, int, TOMMessageType, int[], long, ReplyListener, byte[]) - Constructor for class bftsmart.tom.RequestContext
-
-
Constructor
-
-
RequestVerifier - Interface in bftsmart.tom.server
-
-
Classes that implement this interface are invoked within - consensus instances upon reception of a PROPOSE message - in order to enforce the "external validity".
-
-
restart() - Method in class bftsmart.tom.ServiceReplica
-
-
Cleans the object state and reboots execution.
-
-
- - - -

S

-
-
ServiceProxy - Class in bftsmart.tom
-
-
This class implements a TOMSender and represents a proxy to be used on the - client side of the replicated system.
-
-
ServiceProxy(int) - Constructor for class bftsmart.tom.ServiceProxy
-
-
Constructor
-
-
ServiceProxy(int, String) - Constructor for class bftsmart.tom.ServiceProxy
-
-
Constructor
-
-
ServiceProxy(int, String, KeyLoader) - Constructor for class bftsmart.tom.ServiceProxy
-
-
Constructor
-
-
ServiceProxy(int, String, Comparator<byte[]>, Extractor, KeyLoader) - Constructor for class bftsmart.tom.ServiceProxy
-
-
Constructor
-
-
ServiceReplica - Class in bftsmart.tom
-
-
This class receives messages from DeliveryThread and manages the execution - from the application and reply to the clients.
-
-
ServiceReplica(int, Executable, Recoverable) - Constructor for class bftsmart.tom.ServiceReplica
-
-
Constructor
-
-
ServiceReplica(int, Executable, Recoverable, RequestVerifier) - Constructor for class bftsmart.tom.ServiceReplica
-
-
Constructor
-
-
ServiceReplica(int, Executable, Recoverable, RequestVerifier, Replier) - Constructor for class bftsmart.tom.ServiceReplica
-
-
Constructor
-
-
ServiceReplica(int, Executable, Recoverable, RequestVerifier, Replier, KeyLoader, Provider) - Constructor for class bftsmart.tom.ServiceReplica
-
-
Constructor
-
-
ServiceReplica(int, String, Executable, Recoverable, RequestVerifier, Replier, KeyLoader) - Constructor for class bftsmart.tom.ServiceReplica
-
-
Constructor
-
-
setInvokeTimeout(int) - Method in class bftsmart.tom.ServiceProxy
-
-
Set the amount of time (in seconds) that this proxy will wait for - servers replies before returning null.
-
-
setInvokeUnorderedHashedTimeout(int) - Method in class bftsmart.tom.ServiceProxy
-
-
Set the amount of time (in seconds) that this proxy will wait for - servers unordered hashed replies before returning null.
-
-
setLastInBatch() - Method in class bftsmart.tom.MessageContext
-
-
Deprecated. 
-
-
setReplicaContext(ReplicaContext) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
setReplicaContext(ReplicaContext) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
setReplicaContext(ReplicaContext) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
setReplicaContext(ReplicaContext) - Method in interface bftsmart.tom.server.Recoverable
-
-
Sets the replica context
-
-
setReplicaContext(ReplicaContext) - Method in interface bftsmart.tom.server.Replier
-
-
Sets the replica context
-
-
setState(ApplicationState) - Method in class bftsmart.tom.server.defaultservices.DefaultRecoverable
-
 
-
setState(ApplicationState) - Method in class bftsmart.tom.server.defaultservices.DefaultSingleRecoverable
-
 
-
setState(ApplicationState) - Method in class bftsmart.tom.server.defaultservices.durability.DurabilityCoordinator
-
 
-
setState(ApplicationState) - Method in interface bftsmart.tom.server.Recoverable
-
-
Sets the state to the representation obtained in the state transfer protocol
-
-
SingleExecutable - Interface in bftsmart.tom.server
-
-
Executables that implement this interface will receive client requests individually.
-
-
- - - -

V

-
-
VMServices - Class in bftsmart.reconfiguration
-
-
This class is used by the trusted client to add and remove replicas from the group
-
-
VMServices() - Constructor for class bftsmart.reconfiguration.VMServices
-
-
Constructor.
-
-
VMServices(KeyLoader, String) - Constructor for class bftsmart.reconfiguration.VMServices
-
-
Constructor.
-
-
-A B C D E G I J K L M N O R S V 
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index cc8c2909b..000000000 --- a/doc/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -Generated Documentation (Untitled) - - - - - - - - - -<noscript> -<div>JavaScript is disabled on your browser.</div> -</noscript> -<h2>Frame Alert</h2> -<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> - - - diff --git a/doc/overview-frame.html b/doc/overview-frame.html deleted file mode 100644 index 830c31b08..000000000 --- a/doc/overview-frame.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Overview List - - - - - -
All Classes
-
-

Packages

- -
-

 

- - diff --git a/doc/overview-summary.html b/doc/overview-summary.html deleted file mode 100644 index 2897ca0fc..000000000 --- a/doc/overview-summary.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - -Overview - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Packages 
PackageDescription
bftsmart.reconfiguration 
bftsmart.tom 
bftsmart.tom.server 
bftsmart.tom.server.defaultservices 
bftsmart.tom.server.defaultservices.durability 
bftsmart.tom.util 
-
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/overview-tree.html b/doc/overview-tree.html deleted file mode 100644 index b2bfc53b6..000000000 --- a/doc/overview-tree.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - -Class Hierarchy - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Hierarchy For All Packages

-Package Hierarchies: - -
-
-

Class Hierarchy

- -

Interface Hierarchy

- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/package-list b/doc/package-list deleted file mode 100644 index 4526acd34..000000000 --- a/doc/package-list +++ /dev/null @@ -1,6 +0,0 @@ -bftsmart.reconfiguration -bftsmart.tom -bftsmart.tom.server -bftsmart.tom.server.defaultservices -bftsmart.tom.server.defaultservices.durability -bftsmart.tom.util diff --git a/doc/script.js b/doc/script.js deleted file mode 100644 index b34635693..000000000 --- a/doc/script.js +++ /dev/null @@ -1,30 +0,0 @@ -function show(type) -{ - count = 0; - for (var key in methods) { - var row = document.getElementById(key); - if ((methods[key] & type) != 0) { - row.style.display = ''; - row.className = (count++ % 2) ? rowColor : altColor; - } - else - row.style.display = 'none'; - } - updateTabs(type); -} - -function updateTabs(type) -{ - for (var value in tabs) { - var sNode = document.getElementById(tabs[value][0]); - var spanNode = sNode.firstChild; - if (value == type) { - sNode.className = activeTableTab; - spanNode.innerHTML = tabs[value][1]; - } - else { - sNode.className = tableTab; - spanNode.innerHTML = "" + tabs[value][1] + ""; - } - } -} diff --git a/doc/serialized-form.html b/doc/serialized-form.html deleted file mode 100644 index 3ee70fcbb..000000000 --- a/doc/serialized-form.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - -Serialized Form - - - - - - - - -
- - -
Skip navigation links
- - - - -
- - -
-

Serialized Form

-
-
- -
- -
- - -
Skip navigation links
- - - - -
- - - - diff --git a/doc/stylesheet.css b/doc/stylesheet.css deleted file mode 100644 index 98055b22d..000000000 --- a/doc/stylesheet.css +++ /dev/null @@ -1,574 +0,0 @@ -/* Javadoc style sheet */ -/* -Overall document style -*/ - -@import url('resources/fonts/dejavu.css'); - -body { - background-color:#ffffff; - color:#353833; - font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size:14px; - margin:0; -} -a:link, a:visited { - text-decoration:none; - color:#4A6782; -} -a:hover, a:focus { - text-decoration:none; - color:#bb7a2a; -} -a:active { - text-decoration:none; - color:#4A6782; -} -a[name] { - color:#353833; -} -a[name]:hover { - text-decoration:none; - color:#353833; -} -pre { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; -} -h1 { - font-size:20px; -} -h2 { - font-size:18px; -} -h3 { - font-size:16px; - font-style:italic; -} -h4 { - font-size:13px; -} -h5 { - font-size:12px; -} -h6 { - font-size:11px; -} -ul { - list-style-type:disc; -} -code, tt { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - padding-top:4px; - margin-top:8px; - line-height:1.4em; -} -dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - padding-top:4px; -} -table tr td dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - vertical-align:top; - padding-top:4px; -} -sup { - font-size:8px; -} -/* -Document title and Copyright styles -*/ -.clear { - clear:both; - height:0px; - overflow:hidden; -} -.aboutLanguage { - float:right; - padding:0px 21px; - font-size:11px; - z-index:200; - margin-top:-9px; -} -.legalCopy { - margin-left:.5em; -} -.bar a, .bar a:link, .bar a:visited, .bar a:active { - color:#FFFFFF; - text-decoration:none; -} -.bar a:hover, .bar a:focus { - color:#bb7a2a; -} -.tab { - background-color:#0066FF; - color:#ffffff; - padding:8px; - width:5em; - font-weight:bold; -} -/* -Navigation bar styles -*/ -.bar { - background-color:#4D7A97; - color:#FFFFFF; - padding:.8em .5em .4em .8em; - height:auto;/*height:1.8em;*/ - font-size:11px; - margin:0; -} -.topNav { - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; -} -.bottomNav { - margin-top:10px; - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; -} -.subNav { - background-color:#dee3e9; - float:left; - width:100%; - overflow:hidden; - font-size:12px; -} -.subNav div { - clear:left; - float:left; - padding:0 0 5px 6px; - text-transform:uppercase; -} -ul.navList, ul.subNavList { - float:left; - margin:0 25px 0 0; - padding:0; -} -ul.navList li{ - list-style:none; - float:left; - padding: 5px 6px; - text-transform:uppercase; -} -ul.subNavList li{ - list-style:none; - float:left; -} -.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { - color:#FFFFFF; - text-decoration:none; - text-transform:uppercase; -} -.topNav a:hover, .bottomNav a:hover { - text-decoration:none; - color:#bb7a2a; - text-transform:uppercase; -} -.navBarCell1Rev { - background-color:#F8981D; - color:#253441; - margin: auto 5px; -} -.skipNav { - position:absolute; - top:auto; - left:-9999px; - overflow:hidden; -} -/* -Page header and footer styles -*/ -.header, .footer { - clear:both; - margin:0 20px; - padding:5px 0 0 0; -} -.indexHeader { - margin:10px; - position:relative; -} -.indexHeader span{ - margin-right:15px; -} -.indexHeader h1 { - font-size:13px; -} -.title { - color:#2c4557; - margin:10px 0; -} -.subTitle { - margin:5px 0 0 0; -} -.header ul { - margin:0 0 15px 0; - padding:0; -} -.footer ul { - margin:20px 0 5px 0; -} -.header ul li, .footer ul li { - list-style:none; - font-size:13px; -} -/* -Heading styles -*/ -div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; -} -ul.blockList ul.blockList ul.blockList li.blockList h3 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; -} -ul.blockList ul.blockList li.blockList h3 { - padding:0; - margin:15px 0; -} -ul.blockList li.blockList h2 { - padding:0px 0 20px 0; -} -/* -Page layout container styles -*/ -.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { - clear:both; - padding:10px 20px; - position:relative; -} -.indexContainer { - margin:10px; - position:relative; - font-size:12px; -} -.indexContainer h2 { - font-size:13px; - padding:0 0 3px 0; -} -.indexContainer ul { - margin:0; - padding:0; -} -.indexContainer ul li { - list-style:none; - padding-top:2px; -} -.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { - font-size:12px; - font-weight:bold; - margin:10px 0 0 0; - color:#4E4E4E; -} -.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { - margin:5px 0 10px 0px; - font-size:14px; - font-family:'DejaVu Sans Mono',monospace; -} -.serializedFormContainer dl.nameValue dt { - margin-left:1px; - font-size:1.1em; - display:inline; - font-weight:bold; -} -.serializedFormContainer dl.nameValue dd { - margin:0 0 0 1px; - font-size:1.1em; - display:inline; -} -/* -List styles -*/ -ul.horizontal li { - display:inline; - font-size:0.9em; -} -ul.inheritance { - margin:0; - padding:0; -} -ul.inheritance li { - display:inline; - list-style:none; -} -ul.inheritance li ul.inheritance { - margin-left:15px; - padding-left:15px; - padding-top:1px; -} -ul.blockList, ul.blockListLast { - margin:10px 0 10px 0; - padding:0; -} -ul.blockList li.blockList, ul.blockListLast li.blockList { - list-style:none; - margin-bottom:15px; - line-height:1.4; -} -ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { - padding:0px 20px 5px 10px; - border:1px solid #ededed; - background-color:#f8f8f8; -} -ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { - padding:0 0 5px 8px; - background-color:#ffffff; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { - margin-left:0; - padding-left:0; - padding-bottom:15px; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { - list-style:none; - border-bottom:none; - padding-bottom:0; -} -table tr td dl, table tr td dl dt, table tr td dl dd { - margin-top:0; - margin-bottom:1px; -} -/* -Table styles -*/ -.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { - width:100%; - border-left:1px solid #EEE; - border-right:1px solid #EEE; - border-bottom:1px solid #EEE; -} -.overviewSummary, .memberSummary { - padding:0px; -} -.overviewSummary caption, .memberSummary caption, .typeSummary caption, -.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { - position:relative; - text-align:left; - background-repeat:no-repeat; - color:#253441; - font-weight:bold; - clear:none; - overflow:hidden; - padding:0px; - padding-top:10px; - padding-left:1px; - margin:0px; - white-space:pre; -} -.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, -.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, -.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, -.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, -.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, -.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, -.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, -.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { - color:#FFFFFF; -} -.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, -.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - padding-bottom:7px; - display:inline-block; - float:left; - background-color:#F8981D; - border: none; - height:16px; -} -.memberSummary caption span.activeTableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#F8981D; - height:16px; -} -.memberSummary caption span.tableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#4D7A97; - height:16px; -} -.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { - padding-top:0px; - padding-left:0px; - padding-right:0px; - background-image:none; - float:none; - display:inline; -} -.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, -.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { - display:none; - width:5px; - position:relative; - float:left; - background-color:#F8981D; -} -.memberSummary .activeTableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - float:left; - background-color:#F8981D; -} -.memberSummary .tableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - background-color:#4D7A97; - float:left; - -} -.overviewSummary td, .memberSummary td, .typeSummary td, -.useSummary td, .constantsSummary td, .deprecatedSummary td { - text-align:left; - padding:0px 0px 12px 10px; -} -th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, -td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ - vertical-align:top; - padding-right:0px; - padding-top:8px; - padding-bottom:3px; -} -th.colFirst, th.colLast, th.colOne, .constantsSummary th { - background:#dee3e9; - text-align:left; - padding:8px 3px 3px 7px; -} -td.colFirst, th.colFirst { - white-space:nowrap; - font-size:13px; -} -td.colLast, th.colLast { - font-size:13px; -} -td.colOne, th.colOne { - font-size:13px; -} -.overviewSummary td.colFirst, .overviewSummary th.colFirst, -.useSummary td.colFirst, .useSummary th.colFirst, -.overviewSummary td.colOne, .overviewSummary th.colOne, -.memberSummary td.colFirst, .memberSummary th.colFirst, -.memberSummary td.colOne, .memberSummary th.colOne, -.typeSummary td.colFirst{ - width:25%; - vertical-align:top; -} -td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { - font-weight:bold; -} -.tableSubHeadingColor { - background-color:#EEEEFF; -} -.altColor { - background-color:#FFFFFF; -} -.rowColor { - background-color:#EEEEEF; -} -/* -Content styles -*/ -.description pre { - margin-top:0; -} -.deprecatedContent { - margin:0; - padding:10px 0; -} -.docSummary { - padding:0; -} - -ul.blockList ul.blockList ul.blockList li.blockList h3 { - font-style:normal; -} - -div.block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; -} - -td.colLast div { - padding-top:0px; -} - - -td.colLast a { - padding-bottom:3px; -} -/* -Formatting effect styles -*/ -.sourceLineNo { - color:green; - padding:0 30px 0 0; -} -h1.hidden { - visibility:hidden; - overflow:hidden; - font-size:10px; -} -.block { - display:block; - margin:3px 10px 2px 0px; - color:#474747; -} -.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, -.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, -.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { - font-weight:bold; -} -.deprecationComment, .emphasizedPhrase, .interfaceName { - font-style:italic; -} - -div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, -div.block div.block span.interfaceName { - font-style:normal; -} - -div.contentContainer ul.blockList li.blockList h2{ - padding-bottom:0px; -} diff --git a/docs/javadoc/allclasses-index.html b/docs/javadoc/allclasses-index.html new file mode 100644 index 000000000..bab64f165 --- /dev/null +++ b/docs/javadoc/allclasses-index.html @@ -0,0 +1,999 @@ + + + + + +All Classes (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+ +
+
+ + + diff --git a/docs/javadoc/allclasses.html b/docs/javadoc/allclasses.html new file mode 100644 index 000000000..e0d7cb91c --- /dev/null +++ b/docs/javadoc/allclasses.html @@ -0,0 +1,194 @@ + + + + + +All Classes (library API) + + + + + + + + + + + + +

All Classes

+
+ +
+ + diff --git a/docs/javadoc/allpackages-index.html b/docs/javadoc/allpackages-index.html new file mode 100644 index 000000000..9c7da20ac --- /dev/null +++ b/docs/javadoc/allpackages-index.html @@ -0,0 +1,300 @@ + + + + + +All Packages (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
+ +
+
+ + + diff --git a/docs/javadoc/bftsmart/benchmark/Measurement.html b/docs/javadoc/bftsmart/benchmark/Measurement.html new file mode 100644 index 000000000..800484942 --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/Measurement.html @@ -0,0 +1,331 @@ + + + + + +Measurement (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Measurement

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, worker.IProcessingResult
    +
    +
    +
    public class Measurement
    +extends java.lang.Object
    +implements worker.IProcessingResult
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Measurement​(long[]... measurements) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      long[][]getMeasurements() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Measurement

        +
        public Measurement​(long[]... measurements)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMeasurements

        +
        public long[][] getMeasurements()
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/benchmark/ThroughputEventProcessor.html b/docs/javadoc/bftsmart/benchmark/ThroughputEventProcessor.html new file mode 100644 index 000000000..2203cf7d7 --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/ThroughputEventProcessor.html @@ -0,0 +1,403 @@ + + + + + +ThroughputEventProcessor (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ThroughputEventProcessor

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    worker.IWorkerEventProcessor
    +
    +
    +
    public class ThroughputEventProcessor
    +extends java.lang.Object
    +implements worker.IWorkerEventProcessor
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ThroughputEventProcessor

        +
        public ThroughputEventProcessor()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        process

        +
        public void process​(java.lang.String line)
        +
        +
        Specified by:
        +
        process in interface worker.IWorkerEventProcessor
        +
        +
      • +
      + + + +
        +
      • +

        startProcessing

        +
        public void startProcessing()
        +
        +
        Specified by:
        +
        startProcessing in interface worker.IWorkerEventProcessor
        +
        +
      • +
      + + + +
        +
      • +

        stopProcessing

        +
        public void stopProcessing()
        +
        +
        Specified by:
        +
        stopProcessing in interface worker.IWorkerEventProcessor
        +
        +
      • +
      + + + +
        +
      • +

        getProcessingResult

        +
        public worker.IProcessingResult getProcessingResult()
        +
        +
        Specified by:
        +
        getProcessingResult in interface worker.IWorkerEventProcessor
        +
        +
      • +
      + + + +
        +
      • +

        isReady

        +
        public boolean isReady()
        +
        +
        Specified by:
        +
        isReady in interface worker.IWorkerEventProcessor
        +
        +
      • +
      + + + +
        +
      • +

        ended

        +
        public boolean ended()
        +
        +
        Specified by:
        +
        ended in interface worker.IWorkerEventProcessor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/benchmark/ThroughputLatencyBenchmarkStrategy.html b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyBenchmarkStrategy.html new file mode 100644 index 000000000..7b82ecfde --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyBenchmarkStrategy.html @@ -0,0 +1,423 @@ + + + + + +ThroughputLatencyBenchmarkStrategy (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ThroughputLatencyBenchmarkStrategy

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    controller.IBenchmarkStrategy, controller.IWorkerStatusListener
    +
    +
    +
    public class ThroughputLatencyBenchmarkStrategy
    +extends java.lang.Object
    +implements controller.IBenchmarkStrategy, controller.IWorkerStatusListener
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidexecuteBenchmark​(controller.WorkerHandler[] workers, + java.util.Properties benchmarkParameters) 
      voidonEnded​(int workerId) 
      voidonError​(int workerId, + java.lang.String errorMessage) 
      voidonReady​(int workerId) 
      voidonResult​(int workerId, + worker.IProcessingResult processingResult) 
      voidsaveClientMeasurements​(long[] latencies) 
      voidsaveServerMeasurements​(long[] clients, + long[] nRequests, + long[] delta) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ThroughputLatencyBenchmarkStrategy

        +
        public ThroughputLatencyBenchmarkStrategy()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        executeBenchmark

        +
        public void executeBenchmark​(controller.WorkerHandler[] workers,
        +                             java.util.Properties benchmarkParameters)
        +
        +
        Specified by:
        +
        executeBenchmark in interface controller.IBenchmarkStrategy
        +
        +
      • +
      + + + +
        +
      • +

        onReady

        +
        public void onReady​(int workerId)
        +
        +
        Specified by:
        +
        onReady in interface controller.IWorkerStatusListener
        +
        +
      • +
      + + + +
        +
      • +

        onEnded

        +
        public void onEnded​(int workerId)
        +
        +
        Specified by:
        +
        onEnded in interface controller.IWorkerStatusListener
        +
        +
      • +
      + + + +
        +
      • +

        onError

        +
        public void onError​(int workerId,
        +                    java.lang.String errorMessage)
        +
        +
        Specified by:
        +
        onError in interface controller.IWorkerStatusListener
        +
        +
      • +
      + + + +
        +
      • +

        onResult

        +
        public void onResult​(int workerId,
        +                     worker.IProcessingResult processingResult)
        +
        +
        Specified by:
        +
        onResult in interface controller.IWorkerStatusListener
        +
        +
      • +
      + + + +
        +
      • +

        saveServerMeasurements

        +
        public void saveServerMeasurements​(long[] clients,
        +                                   long[] nRequests,
        +                                   long[] delta)
        +
      • +
      + + + +
        +
      • +

        saveClientMeasurements

        +
        public void saveClientMeasurements​(long[] latencies)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/benchmark/ThroughputLatencyClient.html b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyClient.html new file mode 100644 index 000000000..fd30863a5 --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyClient.html @@ -0,0 +1,309 @@ + + + + + +ThroughputLatencyClient (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ThroughputLatencyClient

+
+
+ +
+
    +
  • +
    +
    public class ThroughputLatencyClient
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ThroughputLatencyClient

        +
        public ThroughputLatencyClient()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.lang.InterruptedException
        +
        +
        Throws:
        +
        java.lang.InterruptedException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/benchmark/ThroughputLatencyServer.html b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyServer.html new file mode 100644 index 000000000..55f818fd4 --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/ThroughputLatencyServer.html @@ -0,0 +1,459 @@ + + + + + +ThroughputLatencyServer (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ThroughputLatencyServer

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ThroughputLatencyServer

        +
        public ThroughputLatencyServer​(int processId,
        +                               int stateSize)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      + + + +
        +
      • +

        appExecuteOrdered

        +
        public byte[] appExecuteOrdered​(byte[] command,
        +                                MessageContext msgCtx)
        +
        Description copied from class: DefaultSingleRecoverable
        +
        Execute a batch of ordered requests
        +
        +
        Specified by:
        +
        appExecuteOrdered in class DefaultSingleRecoverable
        +
        Parameters:
        +
        command - The ordered request
        +
        msgCtx - The context associated to each request
        +
        Returns:
        +
        the reply for the request issued by the client
        +
        +
      • +
      + + + +
        +
      • +

        appExecuteUnordered

        +
        public byte[] appExecuteUnordered​(byte[] command,
        +                                  MessageContext msgCtx)
        +
        Description copied from class: DefaultSingleRecoverable
        +
        Execute an unordered request
        +
        +
        Specified by:
        +
        appExecuteUnordered in class DefaultSingleRecoverable
        +
        Parameters:
        +
        command - The unordered request
        +
        msgCtx - The context associated to the request
        +
        Returns:
        +
        the reply for the request issued by the client
        +
        +
      • +
      + + + +
        +
      • +

        installSnapshot

        +
        public void installSnapshot​(byte[] state)
        +
        Description copied from class: DefaultSingleRecoverable
        +
        Given a snapshot received from the state transfer protocol, install it
        +
        +
        Specified by:
        +
        installSnapshot in class DefaultSingleRecoverable
        +
        Parameters:
        +
        state - The serialized snapshot
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/benchmark/package-summary.html b/docs/javadoc/bftsmart/benchmark/package-summary.html new file mode 100644 index 000000000..30a229f3a --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/package-summary.html @@ -0,0 +1,180 @@ + + + + + +bftsmart.benchmark (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package bftsmart.benchmark

+
+
+ +
+
+ + + diff --git a/docs/javadoc/bftsmart/benchmark/package-tree.html b/docs/javadoc/bftsmart/benchmark/package-tree.html new file mode 100644 index 000000000..c1cb441b4 --- /dev/null +++ b/docs/javadoc/bftsmart/benchmark/package-tree.html @@ -0,0 +1,169 @@ + + + + + +bftsmart.benchmark Class Hierarchy (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package bftsmart.benchmark

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/docs/javadoc/bftsmart/clientsmanagement/ClientData.html b/docs/javadoc/bftsmart/clientsmanagement/ClientData.html new file mode 100644 index 000000000..0fdf0e6a3 --- /dev/null +++ b/docs/javadoc/bftsmart/clientsmanagement/ClientData.html @@ -0,0 +1,601 @@ + + + + + +ClientData (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClientData

+
+
+ +
+
    +
  • +
    +
    public class ClientData
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        MAX_SIZE_ORDERED_REQUESTS

        +
        public static final int MAX_SIZE_ORDERED_REQUESTS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClientData

        +
        public ClientData​(int clientId,
        +                  java.security.PublicKey publicKey)
        +
        Class constructor. Just store the clientId and creates a signature + verificator for a given client public key.
        +
        +
        Parameters:
        +
        clientId - client unique id
        +
        publicKey - client public key
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClientId

        +
        public int getClientId()
        +
      • +
      + + + +
        +
      • +

        getSession

        +
        public int getSession()
        +
      • +
      + + + +
        +
      • +

        setSession

        +
        public void setSession​(int session)
        +
      • +
      + + + +
        +
      • +

        getPendingRequests

        +
        public RequestList getPendingRequests()
        +
      • +
      + + + +
        +
      • +

        getOrderedRequests

        +
        public RequestList getOrderedRequests()
        +
      • +
      + + + +
        +
      • +

        setLastMessageDelivered

        +
        public void setLastMessageDelivered​(int lastMessageDelivered)
        +
      • +
      + + + +
        +
      • +

        getLastMessageDelivered

        +
        public int getLastMessageDelivered()
        +
      • +
      + + + +
        +
      • +

        setLastMessageReceived

        +
        public void setLastMessageReceived​(int lastMessageReceived)
        +
      • +
      + + + +
        +
      • +

        getLastMessageReceived

        +
        public int getLastMessageReceived()
        +
      • +
      + + + +
        +
      • +

        setLastMessageReceivedTime

        +
        public void setLastMessageReceivedTime​(long lastMessageReceivedTime)
        +
      • +
      + + + +
        +
      • +

        getLastMessageReceivedTime

        +
        public long getLastMessageReceivedTime()
        +
      • +
      + + + +
        +
      • +

        verifySignature

        +
        public boolean verifySignature​(byte[] message,
        +                               byte[] signature)
        +
      • +
      + + + +
        +
      • +

        removeOrderedRequest

        +
        public boolean removeOrderedRequest​(TOMMessage request)
        +
      • +
      + + + +
        +
      • +

        removeRequest

        +
        public boolean removeRequest​(TOMMessage request)
        +
      • +
      + + + +
        +
      • +

        getReply

        +
        public TOMMessage getReply​(int reqSequence)
        +
      • +
      + + + +
        +
      • +

        addToReplyStore

        +
        public void addToReplyStore​(TOMMessage m)
        +
      • +
      + + + +
        +
      • +

        getLastReply

        +
        public TOMMessage getLastReply()
        +
      • +
      + + + +
        +
      • +

        getReplyStore

        +
        public RequestList getReplyStore()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/clientsmanagement/ClientsManager.html b/docs/javadoc/bftsmart/clientsmanagement/ClientsManager.html new file mode 100644 index 000000000..9271343c4 --- /dev/null +++ b/docs/javadoc/bftsmart/clientsmanagement/ClientsManager.html @@ -0,0 +1,653 @@ + + + + + +ClientsManager (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClientsManager

+
+
+ +
+
    +
  • +
    +
    public class ClientsManager
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclear() 
      ClientDatagetClientData​(int clientId) +
      We are assuming that no more than one thread will access + the same clientData during creation.
      +
      java.util.concurrent.locks.ReentrantLockgetClientsLock() 
      java.util.TreeMap<java.lang.Integer,​RequestList>getLastRepliesOfEachClient() +
      Collects the max number of last ordered requests of each client in a HashMap (clientID -> RequestList)
      +
      java.util.TreeMap<java.lang.Integer,​TOMMessage>getLastReplyOfEachClient() +
      Collects the last ordered request and their associated replies of each client in a HashMap (clientID -> TOMMessage)
      +
      TOMMessagegetPending​(int reqId) +
      Get some reqId that is pending.
      +
      RequestListgetPendingRequests() +
      Get pending requests in a fair way (one request from each client + queue until the max number of requests is obtained).
      +
      booleanhavePendingRequests() +
      We've implemented some protection for individual client + data, but the clients table can change during the operation.
      +
      booleanisNextBatchReady() +
      Retrieves the number of pending requests and their sizes + and checks if there are enough to fill the next batch completely.
      +
      booleanisPending​(int reqId) +
      Verifies if some reqId is pending.
      +
      voidmanageLastReplyOfEachClientAfterRecovery​(java.util.TreeMap<java.lang.Integer,​TOMMessage> repliesToClients) +
      Sets the reply store of each client in a HashMap (clientID -> TOMMessage).
      +
      intnumClients() 
      booleanrequestReceived​(TOMMessage request, + boolean fromClient) 
      booleanrequestReceived​(TOMMessage request, + boolean fromClient, + ServerCommunicationSystem cs) +
      Notifies the ClientsManager that a new request from a client arrived.
      +
      voidrequestsExecuted​(TOMMessage[] requests) +
      Notifies the ClientManager that these requests now have replies (computed by the application) attached to them
      +
      voidrequestsOrdered​(TOMMessage[] requests) +
      Notifies the ClientsManager that these requests were already executed.
      +
      booleanthisReplicaWasRecovered() +
      Used to indicate a reboot, relevant to give more details in warning messages
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClientData

        +
        public ClientData getClientData​(int clientId)
        +
        We are assuming that no more than one thread will access + the same clientData during creation.
        +
        +
        Parameters:
        +
        clientId -
        +
        Returns:
        +
        the ClientData stored on the manager
        +
        +
      • +
      + + + +
        +
      • +

        getPendingRequests

        +
        public RequestList getPendingRequests()
        +
        Get pending requests in a fair way (one request from each client + queue until the max number of requests is obtained).
        +
        +
        Returns:
        +
        the set of all pending requests of this system
        +
        +
      • +
      + + + +
        +
      • +

        havePendingRequests

        +
        public boolean havePendingRequests()
        +
        We've implemented some protection for individual client + data, but the clients table can change during the operation.
        +
        +
        Returns:
        +
        true if there are some pending requests and false otherwise
        +
        +
      • +
      + + + +
        +
      • +

        isNextBatchReady

        +
        public boolean isNextBatchReady()
        +
        Retrieves the number of pending requests and their sizes + and checks if there are enough to fill the next batch completely.
        +
        +
        Returns:
        +
        true if there are enough requests and false otherwise
        +
        +
      • +
      + + + +
        +
      • +

        isPending

        +
        public boolean isPending​(int reqId)
        +
        Verifies if some reqId is pending.
        +
        +
        Parameters:
        +
        reqId - the request identifier
        +
        Returns:
        +
        true if the request is pending
        +
        +
      • +
      + + + +
        +
      • +

        getPending

        +
        public TOMMessage getPending​(int reqId)
        +
        Get some reqId that is pending.
        +
        +
        Parameters:
        +
        reqId - the request identifier
        +
        Returns:
        +
        the pending request, or null
        +
        +
      • +
      + + + +
        +
      • +

        requestReceived

        +
        public boolean requestReceived​(TOMMessage request,
        +                               boolean fromClient)
        +
      • +
      + + + +
        +
      • +

        requestReceived

        +
        public boolean requestReceived​(TOMMessage request,
        +                               boolean fromClient,
        +                               ServerCommunicationSystem cs)
        +
        Notifies the ClientsManager that a new request from a client arrived. + This method updates the ClientData of the client request.getSender().
        +
        +
        Parameters:
        +
        request - the received request
        +
        fromClient - the message was received from client or not?
        +
        cs - server com. system to be able to send replies to already processed requests
        +
        Returns:
        +
        true if the request is ok and is added to the pending messages + for this client, false if there is some problem and the message was not + accounted
        +
        +
      • +
      + + + +
        +
      • +

        requestsOrdered

        +
        public void requestsOrdered​(TOMMessage[] requests)
        +
        Notifies the ClientsManager that these requests were already executed.
        +
        +
        Parameters:
        +
        requests - the array of requests to account as ordered
        +
        +
      • +
      + + + +
        +
      • +

        requestsExecuted

        +
        public void requestsExecuted​(TOMMessage[] requests)
        +
        Notifies the ClientManager that these requests now have replies (computed by the application) attached to them
        +
        +
        Parameters:
        +
        requests - the array of requests to account as executed
        +
        +
      • +
      + + + +
        +
      • +

        getClientsLock

        +
        public java.util.concurrent.locks.ReentrantLock getClientsLock()
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
      • +
      + + + +
        +
      • +

        numClients

        +
        public int numClients()
        +
      • +
      + + + +
        +
      • +

        getLastReplyOfEachClient

        +
        public java.util.TreeMap<java.lang.Integer,​TOMMessage> getLastReplyOfEachClient()
        +
        Collects the last ordered request and their associated replies of each client in a HashMap (clientID -> TOMMessage)
        +
        +
        Returns:
        +
        hashmap of last request and replies
        +
        +
      • +
      + + + +
        +
      • +

        manageLastReplyOfEachClientAfterRecovery

        +
        public void manageLastReplyOfEachClientAfterRecovery​(java.util.TreeMap<java.lang.Integer,​TOMMessage> repliesToClients)
        +
        Sets the reply store of each client in a HashMap (clientID -> TOMMessage). + This method is called during recovery of a replica
        +
        +
        Parameters:
        +
        repliesToClients - TreeMap of last reply for each client (clientID -> last reply)
        +
        +
      • +
      + + + +
        +
      • +

        getLastRepliesOfEachClient

        +
        public java.util.TreeMap<java.lang.Integer,​RequestList> getLastRepliesOfEachClient()
        +
        Collects the max number of last ordered requests of each client in a HashMap (clientID -> RequestList)
        +
        +
        Returns:
        +
        hashmap of lists of last request and replies per client
        +
        +
      • +
      + + + +
        +
      • +

        thisReplicaWasRecovered

        +
        public boolean thisReplicaWasRecovered()
        +
        Used to indicate a reboot, relevant to give more details in warning messages
        +
        +
        Returns:
        +
        boolean IF the replica has been re-booted within the last 20 seconds
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/clientsmanagement/RequestList.html b/docs/javadoc/bftsmart/clientsmanagement/RequestList.html new file mode 100644 index 000000000..8933b1423 --- /dev/null +++ b/docs/javadoc/bftsmart/clientsmanagement/RequestList.html @@ -0,0 +1,523 @@ + + + + + +RequestList (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RequestList

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<TOMMessage>, java.util.Collection<TOMMessage>, java.util.Deque<TOMMessage>, java.util.List<TOMMessage>, java.util.Queue<TOMMessage>
    +
    +
    +
    public class RequestList
    +extends java.util.LinkedList<TOMMessage>
    +
    Extended LinkedList used to store pending requests issued by a client.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.util.AbstractList

        +modCount
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      RequestList() 
      RequestList​(int maxSize) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddLast​(TOMMessage msg) 
      booleancontains​(int id) 
      TOMMessageget​(byte[] serializedMessage) 
      TOMMessagegetById​(int id) 
      TOMMessagegetBySequence​(int sequence) 
      int[]getIds() 
      TOMMessageremove​(byte[] serializedMessage) 
      TOMMessageremoveById​(int id) 
      +
        +
      • + + +

        Methods inherited from class java.util.LinkedList

        +add, add, addAll, addAll, addFirst, clear, clone, contains, descendingIterator, element, get, getFirst, getLast, indexOf, lastIndexOf, listIterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, remove, remove, remove, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, set, size, spliterator, toArray, toArray
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractSequentialList

        +iterator
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractList

        +equals, hashCode, listIterator, removeRange, subList
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractCollection

        +containsAll, isEmpty, removeAll, retainAll, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Collection

        +parallelStream, removeIf, stream, toArray
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Deque

        +iterator
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.List

        +containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RequestList

        +
        public RequestList()
        +
      • +
      + + + +
        +
      • +

        RequestList

        +
        public RequestList​(int maxSize)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addLast

        +
        public void addLast​(TOMMessage msg)
        +
        +
        Specified by:
        +
        addLast in interface java.util.Deque<TOMMessage>
        +
        Overrides:
        +
        addLast in class java.util.LinkedList<TOMMessage>
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public TOMMessage remove​(byte[] serializedMessage)
        +
      • +
      + + + +
        +
      • +

        removeById

        +
        public TOMMessage removeById​(int id)
        +
      • +
      + + + +
        +
      • +

        getIds

        +
        public int[] getIds()
        +
      • +
      + + + +
        +
      • +

        get

        +
        public TOMMessage get​(byte[] serializedMessage)
        +
      • +
      + + + +
        +
      • +

        getById

        +
        public TOMMessage getById​(int id)
        +
      • +
      + + + +
        +
      • +

        getBySequence

        +
        public TOMMessage getBySequence​(int sequence)
        +
      • +
      + + + +
        +
      • +

        contains

        +
        public boolean contains​(int id)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/clientsmanagement/package-summary.html b/docs/javadoc/bftsmart/clientsmanagement/package-summary.html new file mode 100644 index 000000000..3d46297e2 --- /dev/null +++ b/docs/javadoc/bftsmart/clientsmanagement/package-summary.html @@ -0,0 +1,174 @@ + + + + + +bftsmart.clientsmanagement (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package bftsmart.clientsmanagement

+
+
+ +
+
+ + + diff --git a/docs/javadoc/bftsmart/clientsmanagement/package-tree.html b/docs/javadoc/bftsmart/clientsmanagement/package-tree.html new file mode 100644 index 000000000..e179fbe42 --- /dev/null +++ b/docs/javadoc/bftsmart/clientsmanagement/package-tree.html @@ -0,0 +1,179 @@ + + + + + +bftsmart.clientsmanagement Class Hierarchy (library API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package bftsmart.clientsmanagement

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.util.AbstractCollection<E> (implements java.util.Collection<E>) +
        +
      • java.util.AbstractList<E> (implements java.util.List<E>) +
          +
        • java.util.AbstractSequentialList<E> +
            +
          • java.util.LinkedList<E> (implements java.lang.Cloneable, java.util.Deque<E>, java.util.List<E>, java.io.Serializable) + +
          • +
          +
        • +
        +
      • +
      +
    • +
    • bftsmart.clientsmanagement.ClientData
    • +
    • bftsmart.clientsmanagement.ClientsManager
    • +
    +
  • +
+
+
+
+ + + diff --git a/docs/javadoc/bftsmart/communication/MessageHandler.html b/docs/javadoc/bftsmart/communication/MessageHandler.html new file mode 100644 index 000000000..3792e95f4 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/MessageHandler.html @@ -0,0 +1,346 @@ + + + + + +MessageHandler (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MessageHandler

+
+
+ +
+
    +
  • +
    +
    public class MessageHandler
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MessageHandler

        +
        public MessageHandler()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setAcceptor

        +
        public void setAcceptor​(Acceptor acceptor)
        +
      • +
      + + + +
        +
      • +

        setTOMLayer

        +
        public void setTOMLayer​(TOMLayer tomLayer)
        +
      • +
      + + + +
        +
      • +

        processData

        +
        protected void processData​(SystemMessage sm)
        +
      • +
      + + + +
        +
      • +

        verifyPending

        +
        protected void verifyPending()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/ServerCommunicationSystem.html b/docs/javadoc/bftsmart/communication/ServerCommunicationSystem.html new file mode 100644 index 000000000..dd230bccc --- /dev/null +++ b/docs/javadoc/bftsmart/communication/ServerCommunicationSystem.html @@ -0,0 +1,593 @@ + + + + + +ServerCommunicationSystem (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ServerCommunicationSystem

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Runnable
    +
    +
    +
    public class ServerCommunicationSystem
    +extends java.lang.Thread
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from class java.lang.Thread

        +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      longMESSAGE_WAIT_TIME 
      protected MessageHandlermessageHandler 
      +
        +
      • + + +

        Fields inherited from class java.lang.Thread

        +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      CommunicationSystemServerSidegetClientsConn() 
      javax.crypto.SecretKeygetSecretKey​(int id) 
      ServersCommunicationLayergetServersConn() 
      voidjoinViewReceived() 
      voidrun() +
      Thread method responsible for receiving messages sent by other servers.
      +
      voidsend​(int[] targets, + SystemMessage sm) +
      Send a message to target processes.
      +
      voidsetAcceptor​(Acceptor acceptor) 
      voidsetRequestReceiver​(RequestReceiver requestReceiver) 
      voidsetTOMLayer​(TOMLayer tomLayer) 
      voidshutdown() 
      java.lang.StringtoString() 
      voidupdateServersConnections() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Thread

        +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, yield
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ServerCommunicationSystem

        +
        public ServerCommunicationSystem​(ServerViewController controller,
        +                                 ServiceReplica replica)
        +                          throws java.lang.Exception
        +
        Creates a new instance of ServerCommunicationSystem
        +
        +
        Throws:
        +
        java.lang.Exception
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        joinViewReceived

        +
        public void joinViewReceived()
        +
      • +
      + + + +
        +
      • +

        updateServersConnections

        +
        public void updateServersConnections()
        +
      • +
      + + + +
        +
      • +

        setAcceptor

        +
        public void setAcceptor​(Acceptor acceptor)
        +
      • +
      + + + +
        +
      • +

        setTOMLayer

        +
        public void setTOMLayer​(TOMLayer tomLayer)
        +
      • +
      + + + +
        +
      • +

        setRequestReceiver

        +
        public void setRequestReceiver​(RequestReceiver requestReceiver)
        +
      • +
      + + + +
        +
      • +

        run

        +
        public void run()
        +
        Thread method responsible for receiving messages sent by other servers.
        +
        +
        Specified by:
        +
        run in interface java.lang.Runnable
        +
        Overrides:
        +
        run in class java.lang.Thread
        +
        +
      • +
      + + + +
        +
      • +

        send

        +
        public void send​(int[] targets,
        +                 SystemMessage sm)
        +
        Send a message to target processes. If the message is an instance of + TOMMessage, it is sent to the clients, otherwise it is set to the + servers.
        +
        +
        Parameters:
        +
        targets - the target receivers of the message
        +
        sm - the message to be sent
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Thread
        +
        +
      • +
      + + + +
        +
      • +

        shutdown

        +
        public void shutdown()
        +
      • +
      + + + +
        +
      • +

        getSecretKey

        +
        public javax.crypto.SecretKey getSecretKey​(int id)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/SystemMessage.html b/docs/javadoc/bftsmart/communication/SystemMessage.html new file mode 100644 index 000000000..1692feb11 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/SystemMessage.html @@ -0,0 +1,447 @@ + + + + + +SystemMessage (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SystemMessage

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanauthenticated 
      protected intsender 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SystemMessage() +
      Creates a new instance of SystemMessage
      +
      SystemMessage​(int sender) +
      Creates a new instance of SystemMessage
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetSender() +
      Returns the ID of the process which sent the message
      +
      voidreadExternal​(java.io.ObjectInput in) 
      voidwriteExternal​(java.io.ObjectOutput out) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        sender

        +
        protected int sender
        +
      • +
      + + + +
        +
      • +

        authenticated

        +
        public transient boolean authenticated
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SystemMessage

        +
        public SystemMessage()
        +
        Creates a new instance of SystemMessage
        +
      • +
      + + + +
        +
      • +

        SystemMessage

        +
        public SystemMessage​(int sender)
        +
        Creates a new instance of SystemMessage
        +
        +
        Parameters:
        +
        sender - ID of the process which sent the message
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSender

        +
        public final int getSender()
        +
        Returns the ID of the process which sent the message
        +
        +
        Returns:
        +
        +
      • +
      + + + +
        +
      • +

        writeExternal

        +
        public void writeExternal​(java.io.ObjectOutput out)
        +                   throws java.io.IOException
        +
        +
        Specified by:
        +
        writeExternal in interface java.io.Externalizable
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        readExternal

        +
        public void readExternal​(java.io.ObjectInput in)
        +                  throws java.io.IOException,
        +                         java.lang.ClassNotFoundException
        +
        +
        Specified by:
        +
        readExternal in interface java.io.Externalizable
        +
        Throws:
        +
        java.io.IOException
        +
        java.lang.ClassNotFoundException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSide.html b/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSide.html new file mode 100644 index 000000000..f88fcb630 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSide.html @@ -0,0 +1,313 @@ + + + + + +CommunicationSystemClientSide (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CommunicationSystemClientSide

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    NettyClientServerCommunicationSystemClientSide
    +
    +
    +
    public interface CommunicationSystemClientSide
    +
    Methods that should be implemented by the client side of the client-server communication system
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        send

        +
        void send​(boolean sign,
        +          int[] targets,
        +          TOMMessage sm)
        +
      • +
      + + + +
        +
      • +

        setReplyReceiver

        +
        void setReplyReceiver​(ReplyReceiver trr)
        +
      • +
      + + + + + + + +
        +
      • +

        close

        +
        void close()
        +
      • +
      + + + +
        +
      • +

        updateConnections

        +
        void updateConnections()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSideFactory.html b/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSideFactory.html new file mode 100644 index 000000000..21d019095 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/CommunicationSystemClientSideFactory.html @@ -0,0 +1,306 @@ + + + + + +CommunicationSystemClientSideFactory (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CommunicationSystemClientSideFactory

+
+
+ +
+
    +
  • +
    +
    public class CommunicationSystemClientSideFactory
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CommunicationSystemClientSideFactory

        +
        public CommunicationSystemClientSideFactory()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSide.html b/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSide.html new file mode 100644 index 000000000..01b7a5184 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSide.html @@ -0,0 +1,299 @@ + + + + + +CommunicationSystemServerSide (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CommunicationSystemServerSide

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    NettyClientServerCommunicationSystemServerSide
    +
    +
    +
    public interface CommunicationSystemServerSide
    +
    Methods that should be implemented by the server side of the client-server communication system
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        send

        +
        void send​(int[] targets,
        +          TOMMessage sm,
        +          boolean serializeClassHeaders)
        +
      • +
      + + + +
        +
      • +

        getClients

        +
        int[] getClients()
        +
      • +
      + + + +
        +
      • +

        setRequestReceiver

        +
        void setRequestReceiver​(RequestReceiver requestReceiver)
        +
      • +
      + + + +
        +
      • +

        shutdown

        +
        void shutdown()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSideFactory.html b/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSideFactory.html new file mode 100644 index 000000000..206972d0a --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/CommunicationSystemServerSideFactory.html @@ -0,0 +1,304 @@ + + + + + +CommunicationSystemServerSideFactory (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CommunicationSystemServerSideFactory

+
+
+ +
+
    +
  • +
    +
    public class CommunicationSystemServerSideFactory
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CommunicationSystemServerSideFactory

        +
        public CommunicationSystemServerSideFactory()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/bftsmart/communication/client/ReplyListener.html b/docs/javadoc/bftsmart/communication/client/ReplyListener.html new file mode 100644 index 000000000..7a9f7933e --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/ReplyListener.html @@ -0,0 +1,275 @@ + + + + + +ReplyListener (library API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ReplyListener

+
+
+
+
    +
  • +
    +
    public interface ReplyListener
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        void reset()
        +
        Indicates that the proxy re-issued the request and the listener should re-initialize
        +
      • +
      + + + +
        +
      • +

        replyReceived

        +
        void replyReceived​(RequestContext context,
        +                   TOMMessage reply)
        +
        Used to deliver a reply from a replica
        +
        +
        Parameters:
        +
        context - The context associated to the reply
        +
        reply - the TOMMessage including the reply
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/doc/bftsmart/tom/server/BatchExecutable.html b/docs/javadoc/bftsmart/communication/client/ReplyReceiver.html similarity index 51% rename from doc/bftsmart/tom/server/BatchExecutable.html rename to docs/javadoc/bftsmart/communication/client/ReplyReceiver.html index cb3568e87..78dbd169f 100644 --- a/doc/bftsmart/tom/server/BatchExecutable.html +++ b/docs/javadoc/bftsmart/communication/client/ReplyReceiver.html @@ -1,43 +1,57 @@ - + - + - -BatchExecutable - + +ReplyReceiver (library API) + + + + + + + + +var pathtoroot = "../../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
+ +
+
-
bftsmart.tom.server
-

Interface BatchExecutable

+ +

Interface ReplyReceiver

@@ -119,34 +136,31 @@

Interface BatchExecutable
  • +
    +
  • @@ -154,45 +168,48 @@

    Methods inherited from interface bftsmart.tom.server.
  • +
      -
    • +
    • Method Detail

      - +
      • -

        executeBatch

        -
        byte[][] executeBatch(byte[][] command,
        -                      MessageContext[] msgCtx)
        -
        Execute a batch of requests.
        +

        replyReceived

        +
        void replyReceived​(TOMMessage reply)
        +
        This is the method invoked by the client side comunication system, and where the + code to handle the reply is to be written
        Parameters:
        -
        command - The batch of requests
        -
        msgCtx - The context associated to each request
        -
        Returns:
        +
        reply - The reply delivered by the client side comunication system
    +
  • +

    + diff --git a/docs/javadoc/bftsmart/communication/client/RequestReceiver.html b/docs/javadoc/bftsmart/communication/client/RequestReceiver.html new file mode 100644 index 000000000..3d1e26bdd --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/RequestReceiver.html @@ -0,0 +1,266 @@ + + + + + +RequestReceiver (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface RequestReceiver

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      TOMLayer
      +
      +
      +
      public interface RequestReceiver
      +
      Interface meant for objects that receive requests from clients
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          requestReceived

          +
          void requestReceived​(TOMMessage msg,
          +                     boolean fromClient)
          +
          This is the method invoked by the CommunicationSystemServerSide, to + deliver a client request. The code to handle requests should be + put here.
          +
          +
          Parameters:
          +
          msg - The request delivered by the TOM layer
          +
          fromClient - The request was received from a client
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyClientPipelineFactory.html b/docs/javadoc/bftsmart/communication/client/netty/NettyClientPipelineFactory.html new file mode 100644 index 000000000..0b00c2b9d --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyClientPipelineFactory.html @@ -0,0 +1,338 @@ + + + + + +NettyClientPipelineFactory (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyClientPipelineFactory

    +
    +
    + +
    +
      +
    • +
      +
      public class NettyClientPipelineFactory
      +extends java.lang.Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDecoder

          +
          public io.netty.handler.codec.ByteToMessageDecoder getDecoder()
          +
        • +
        + + + +
          +
        • +

          getEncoder

          +
          public io.netty.handler.codec.MessageToByteEncoder getEncoder()
          +
        • +
        + + + +
          +
        • +

          getHandler

          +
          public io.netty.channel.SimpleChannelInboundHandler getHandler()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemClientSide.html b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemClientSide.html new file mode 100644 index 000000000..fffabd0bc --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemClientSide.html @@ -0,0 +1,681 @@ + + + + + +NettyClientServerCommunicationSystemClientSide (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyClientServerCommunicationSystemClientSide

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

          +io.netty.channel.ChannelHandler.Sharable
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        protected ReplyReceivertrr 
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidchannelActive​(io.netty.channel.ChannelHandlerContext ctx) 
        voidchannelInactive​(io.netty.channel.ChannelHandlerContext ctx) 
        voidchannelRead0​(io.netty.channel.ChannelHandlerContext ctx, + TOMMessage sm) 
        voidchannelUnregistered​(io.netty.channel.ChannelHandlerContext ctx) 
        voidclose() 
        io.netty.channel.ChannelFutureconnectToReplica​(int replicaId, + javax.crypto.SecretKeyFactory fac) +
        Tulio Ribeiro Connect to specific replica and returns the ChannelFuture.
        +
        voidexceptionCaught​(io.netty.channel.ChannelHandlerContext ctx, + java.lang.Throwable cause) 
        voidreconnect​(io.netty.channel.ChannelHandlerContext ctx) 
        voidremoveClient​(int clientId) 
        voidsend​(boolean sign, + int[] targets, + TOMMessage sm) 
        voidsetReplyReceiver​(ReplyReceiver trr) 
        voidsign​(TOMMessage sm) 
        byte[]signMessage​(java.security.PrivateKey key, + byte[] message) 
        voidupdateConnections() 
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.SimpleChannelInboundHandler

          +acceptInboundMessage, channelRead
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

          +channelReadComplete, channelRegistered, channelWritabilityChanged, userEventTriggered
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelHandlerAdapter

          +ensureNotSharable, handlerAdded, handlerRemoved, isSharable
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface io.netty.channel.ChannelHandler

          +handlerAdded, handlerRemoved
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NettyClientServerCommunicationSystemClientSide

          +
          public NettyClientServerCommunicationSystemClientSide​(int clientId,
          +                                                      ClientViewController controller)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          exceptionCaught

          +
          public void exceptionCaught​(io.netty.channel.ChannelHandlerContext ctx,
          +                            java.lang.Throwable cause)
          +                     throws java.lang.Exception
          +
          +
          Specified by:
          +
          exceptionCaught in interface io.netty.channel.ChannelHandler
          +
          Specified by:
          +
          exceptionCaught in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          exceptionCaught in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          channelRead0

          +
          public void channelRead0​(io.netty.channel.ChannelHandlerContext ctx,
          +                         TOMMessage sm)
          +                  throws java.lang.Exception
          +
          +
          Specified by:
          +
          channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<TOMMessage>
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          channelActive

          +
          public void channelActive​(io.netty.channel.ChannelHandlerContext ctx)
          +
          +
          Specified by:
          +
          channelActive in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          +
        • +
        + + + +
          +
        • +

          reconnect

          +
          public void reconnect​(io.netty.channel.ChannelHandlerContext ctx)
          +
        • +
        + + + + + + + + + + + + + + + +
          +
        • +

          signMessage

          +
          public byte[] signMessage​(java.security.PrivateKey key,
          +                          byte[] message)
          +
        • +
        + + + + + + + +
          +
        • +

          channelUnregistered

          +
          public void channelUnregistered​(io.netty.channel.ChannelHandlerContext ctx)
          +                         throws java.lang.Exception
          +
          +
          Specified by:
          +
          channelUnregistered in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          channelUnregistered in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          channelInactive

          +
          public void channelInactive​(io.netty.channel.ChannelHandlerContext ctx)
          +
          +
          Specified by:
          +
          channelInactive in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          +
        • +
        + + + +
          +
        • +

          connectToReplica

          +
          public io.netty.channel.ChannelFuture connectToReplica​(int replicaId,
          +                                                       javax.crypto.SecretKeyFactory fac)
          +                                                throws java.security.NoSuchAlgorithmException,
          +                                                       java.security.spec.InvalidKeySpecException,
          +                                                       java.security.InvalidKeyException
          +
          Tulio Ribeiro Connect to specific replica and returns the ChannelFuture. + sessionClientToReplica is replaced with the new connection. Removed redundant + code.
          +
          +
          Throws:
          +
          java.security.NoSuchAlgorithmException
          +
          java.security.spec.InvalidKeySpecException
          +
          java.security.InvalidKeyException
          +
          +
        • +
        + + + +
          +
        • +

          removeClient

          +
          public void removeClient​(int clientId)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemServerSide.html b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemServerSide.html new file mode 100644 index 000000000..dddaff795 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerCommunicationSystemServerSide.html @@ -0,0 +1,533 @@ + + + + + +NettyClientServerCommunicationSystemServerSide (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyClientServerCommunicationSystemServerSide

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

          +io.netty.channel.ChannelHandler.Sharable
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidchannelActive​(io.netty.channel.ChannelHandlerContext ctx) 
        voidchannelInactive​(io.netty.channel.ChannelHandlerContext ctx) 
        protected voidchannelRead0​(io.netty.channel.ChannelHandlerContext ctx, + TOMMessage sm) 
        voidexceptionCaught​(io.netty.channel.ChannelHandlerContext ctx, + java.lang.Throwable cause) 
        int[]getClients() 
        voidsend​(int[] targets, + TOMMessage sm, + boolean serializeClassHeaders) 
        voidsetRequestReceiver​(RequestReceiver tl) 
        voidshutdown() 
        voidtoRemove​(java.lang.Integer key) 
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.SimpleChannelInboundHandler

          +acceptInboundMessage, channelRead
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

          +channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelHandlerAdapter

          +ensureNotSharable, handlerAdded, handlerRemoved, isSharable
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface io.netty.channel.ChannelHandler

          +handlerAdded, handlerRemoved
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NettyClientServerCommunicationSystemServerSide

          +
          public NettyClientServerCommunicationSystemServerSide​(ServerViewController controller)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          exceptionCaught

          +
          public void exceptionCaught​(io.netty.channel.ChannelHandlerContext ctx,
          +                            java.lang.Throwable cause)
          +
          +
          Specified by:
          +
          exceptionCaught in interface io.netty.channel.ChannelHandler
          +
          Specified by:
          +
          exceptionCaught in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          exceptionCaught in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          +
        • +
        + + + +
          +
        • +

          channelRead0

          +
          protected void channelRead0​(io.netty.channel.ChannelHandlerContext ctx,
          +                            TOMMessage sm)
          +                     throws java.lang.Exception
          +
          +
          Specified by:
          +
          channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<TOMMessage>
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          channelActive

          +
          public void channelActive​(io.netty.channel.ChannelHandlerContext ctx)
          +
          +
          Specified by:
          +
          channelActive in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          +
        • +
        + + + +
          +
        • +

          channelInactive

          +
          public void channelInactive​(io.netty.channel.ChannelHandlerContext ctx)
          +
          +
          Specified by:
          +
          channelInactive in interface io.netty.channel.ChannelInboundHandler
          +
          Overrides:
          +
          channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
          +
          +
        • +
        + + + +
          +
        • +

          toRemove

          +
          public void toRemove​(java.lang.Integer key)
          +
        • +
        + + + + + + + + + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerSession.html b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerSession.html new file mode 100644 index 000000000..3f38282bb --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyClientServerSession.html @@ -0,0 +1,362 @@ + + + + + +NettyClientServerSession (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyClientServerSession

    +
    +
    + +
    +
      +
    • +
      +
      public class NettyClientServerSession
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        NettyClientServerSession​(io.netty.channel.Channel channel, + int replicaId) 
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NettyClientServerSession

          +
          public NettyClientServerSession​(io.netty.channel.Channel channel,
          +                                int replicaId)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getChannel

          +
          public io.netty.channel.Channel getChannel()
          +
        • +
        + + + +
          +
        • +

          getReplicaId

          +
          public int getReplicaId()
          +
        • +
        + + + +
          +
        • +

          getLock

          +
          public java.util.concurrent.locks.Lock getLock()
          +
        • +
        + + + +
          +
        • +

          getLastMsgReceived

          +
          public int getLastMsgReceived()
          +
        • +
        + + + +
          +
        • +

          setLastMsgReceived

          +
          public void setLastMsgReceived​(int lastMsgReceived_)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyServerPipelineFactory.html b/docs/javadoc/bftsmart/communication/client/netty/NettyServerPipelineFactory.html new file mode 100644 index 000000000..5e0c76bf4 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyServerPipelineFactory.html @@ -0,0 +1,338 @@ + + + + + +NettyServerPipelineFactory (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyServerPipelineFactory

    +
    +
    + +
    +
      +
    • +
      +
      public class NettyServerPipelineFactory
      +extends java.lang.Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDecoder

          +
          public io.netty.handler.codec.ByteToMessageDecoder getDecoder()
          +
        • +
        + + + +
          +
        • +

          getEncoder

          +
          public io.netty.handler.codec.MessageToByteEncoder getEncoder()
          +
        • +
        + + + +
          +
        • +

          getHandler

          +
          public io.netty.channel.SimpleChannelInboundHandler getHandler()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageDecoder.html b/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageDecoder.html new file mode 100644 index 000000000..802176f51 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageDecoder.html @@ -0,0 +1,409 @@ + + + + + +NettyTOMMessageDecoder (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyTOMMessageDecoder

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler
      +
      +
      +
      public class NettyTOMMessageDecoder
      +extends io.netty.handler.codec.ByteToMessageDecoder
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder

          +io.netty.handler.codec.ByteToMessageDecoder.Cumulator
        • +
        +
          +
        • + + +

          Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

          +io.netty.channel.ChannelHandler.Sharable
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

          +COMPOSITE_CUMULATOR, MERGE_CUMULATOR
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        NettyTOMMessageDecoder​(boolean isClient, + java.util.concurrent.ConcurrentHashMap<java.lang.Integer,​NettyClientServerSession> sessionTable, + ViewController controller, + java.util.concurrent.locks.ReentrantReadWriteLock rl) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        protected voiddecode​(io.netty.channel.ChannelHandlerContext context, + io.netty.buffer.ByteBuf buffer, + java.util.List<java.lang.Object> list) 
        +
          +
        • + + +

          Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

          +actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

          +channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelHandlerAdapter

          +ensureNotSharable, handlerAdded, isSharable
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface io.netty.channel.ChannelHandler

          +handlerAdded
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NettyTOMMessageDecoder

          +
          public NettyTOMMessageDecoder​(boolean isClient,
          +                              java.util.concurrent.ConcurrentHashMap<java.lang.Integer,​NettyClientServerSession> sessionTable,
          +                              ViewController controller,
          +                              java.util.concurrent.locks.ReentrantReadWriteLock rl)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          decode

          +
          protected void decode​(io.netty.channel.ChannelHandlerContext context,
          +                      io.netty.buffer.ByteBuf buffer,
          +                      java.util.List<java.lang.Object> list)
          +               throws java.lang.Exception
          +
          +
          Specified by:
          +
          decode in class io.netty.handler.codec.ByteToMessageDecoder
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageEncoder.html b/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageEncoder.html new file mode 100644 index 000000000..206bdec17 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/NettyTOMMessageEncoder.html @@ -0,0 +1,383 @@ + + + + + +NettyTOMMessageEncoder (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NettyTOMMessageEncoder

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      io.netty.channel.ChannelHandler, io.netty.channel.ChannelOutboundHandler
      +
      +
      +
      public class NettyTOMMessageEncoder
      +extends io.netty.handler.codec.MessageToByteEncoder<TOMMessage>
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

          +io.netty.channel.ChannelHandler.Sharable
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        NettyTOMMessageEncoder​(boolean isClient, + java.util.concurrent.ConcurrentHashMap<java.lang.Integer,​NettyClientServerSession> sessionTable, + java.util.concurrent.locks.ReentrantReadWriteLock rl) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        protected voidencode​(io.netty.channel.ChannelHandlerContext context, + TOMMessage sm, + io.netty.buffer.ByteBuf buffer) 
        +
          +
        • + + +

          Methods inherited from class io.netty.handler.codec.MessageToByteEncoder

          +acceptOutboundMessage, allocateBuffer, isPreferDirect, write
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelOutboundHandlerAdapter

          +bind, close, connect, deregister, disconnect, flush, read
        • +
        +
          +
        • + + +

          Methods inherited from class io.netty.channel.ChannelHandlerAdapter

          +ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface io.netty.channel.ChannelHandler

          +exceptionCaught, handlerAdded, handlerRemoved
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NettyTOMMessageEncoder

          +
          public NettyTOMMessageEncoder​(boolean isClient,
          +                              java.util.concurrent.ConcurrentHashMap<java.lang.Integer,​NettyClientServerSession> sessionTable,
          +                              java.util.concurrent.locks.ReentrantReadWriteLock rl)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          encode

          +
          protected void encode​(io.netty.channel.ChannelHandlerContext context,
          +                      TOMMessage sm,
          +                      io.netty.buffer.ByteBuf buffer)
          +               throws java.lang.Exception
          +
          +
          Specified by:
          +
          encode in class io.netty.handler.codec.MessageToByteEncoder<TOMMessage>
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/package-summary.html b/docs/javadoc/bftsmart/communication/client/netty/package-summary.html new file mode 100644 index 000000000..641173370 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/package-summary.html @@ -0,0 +1,188 @@ + + + + + +bftsmart.communication.client.netty (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.communication.client.netty

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/client/netty/package-tree.html b/docs/javadoc/bftsmart/communication/client/netty/package-tree.html new file mode 100644 index 000000000..d7e61687e --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/netty/package-tree.html @@ -0,0 +1,191 @@ + + + + + +bftsmart.communication.client.netty Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.communication.client.netty

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/client/package-summary.html b/docs/javadoc/bftsmart/communication/client/package-summary.html new file mode 100644 index 000000000..5a790ed8f --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/package-summary.html @@ -0,0 +1,207 @@ + + + + + +bftsmart.communication.client (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.communication.client

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/client/package-tree.html b/docs/javadoc/bftsmart/communication/client/package-tree.html new file mode 100644 index 000000000..bc9c0ef18 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/client/package-tree.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.communication.client Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.communication.client

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/package-summary.html b/docs/javadoc/bftsmart/communication/package-summary.html new file mode 100644 index 000000000..e880f7360 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/package-summary.html @@ -0,0 +1,174 @@ + + + + + +bftsmart.communication (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.communication

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/package-tree.html b/docs/javadoc/bftsmart/communication/package-tree.html new file mode 100644 index 000000000..13f2879f7 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/package-tree.html @@ -0,0 +1,167 @@ + + + + + +bftsmart.communication Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.communication

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/server/ServerConnection.ReceiverThread.html b/docs/javadoc/bftsmart/communication/server/ServerConnection.ReceiverThread.html new file mode 100644 index 000000000..fe3202e43 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/ServerConnection.ReceiverThread.html @@ -0,0 +1,365 @@ + + + + + +ServerConnection.ReceiverThread (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServerConnection.ReceiverThread

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      Enclosing class:
      +
      ServerConnection
      +
      +
      +
      protected class ServerConnection.ReceiverThread
      +extends java.lang.Thread
      +
      Thread used to receive packets from the remote server.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        ReceiverThread() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidrun() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ReceiverThread

          +
          public ReceiverThread()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/ServerConnection.TTPReceiverThread.html b/docs/javadoc/bftsmart/communication/server/ServerConnection.TTPReceiverThread.html new file mode 100644 index 000000000..53a6ef336 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/ServerConnection.TTPReceiverThread.html @@ -0,0 +1,365 @@ + + + + + +ServerConnection.TTPReceiverThread (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServerConnection.TTPReceiverThread

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      Enclosing class:
      +
      ServerConnection
      +
      +
      +
      protected class ServerConnection.TTPReceiverThread
      +extends java.lang.Thread
      +
      Thread used to receive packets from the remote server.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidrun() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TTPReceiverThread

          +
          public TTPReceiverThread​(ServiceReplica replica)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/ServerConnection.html b/docs/javadoc/bftsmart/communication/server/ServerConnection.html new file mode 100644 index 000000000..aa3abf484 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/ServerConnection.html @@ -0,0 +1,474 @@ + + + + + +ServerConnection (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServerConnection

    +
    +
    + +
    +
      +
    • +
      +
      public class ServerConnection
      +extends java.lang.Object
      +
      This class represents a connection with other server. + ServerConnections are created by ServerCommunicationLayer.
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        protected java.util.concurrent.LinkedBlockingQueue<byte[]>outQueue 
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        javax.crypto.SecretKeygetSecretKey() +
        Tulio A.
        +
        protected voidreconnect​(javax.net.ssl.SSLSocket newSocket) +
        (Re-)establish connection between peers.
        +
        voidsend​(byte[] data) +
        Used to send packets to the remote server.
        +
        voidshutdown() +
        Stop message sending and reception.
        +
        voidssltlsCreateConnection() +
        Deal with the creation of SSL/TLS connection.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          outQueue

          +
          protected java.util.concurrent.LinkedBlockingQueue<byte[]> outQueue
          +
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSecretKey

          +
          public javax.crypto.SecretKey getSecretKey()
          +
          Tulio A. Ribeiro.
          +
          +
          Returns:
          +
          SecretKey
          +
          +
        • +
        + + + +
          +
        • +

          shutdown

          +
          public void shutdown()
          +
          Stop message sending and reception.
          +
        • +
        + + + +
          +
        • +

          send

          +
          public final void send​(byte[] data)
          +                throws java.lang.InterruptedException
          +
          Used to send packets to the remote server.
          +
          +
          Throws:
          +
          java.lang.InterruptedException
          +
          +
        • +
        + + + +
          +
        • +

          reconnect

          +
          protected void reconnect​(javax.net.ssl.SSLSocket newSocket)
          +
          (Re-)establish connection between peers.
          +
          +
          Parameters:
          +
          newSocket - socket created when this server accepted the connection + (only used if processId is less than remoteId)
          +
          +
        • +
        + + + +
          +
        • +

          ssltlsCreateConnection

          +
          public void ssltlsCreateConnection()
          +
          Deal with the creation of SSL/TLS connection. + Author: Tulio A. Ribeiro
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.PendingConnection.html b/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.PendingConnection.html new file mode 100644 index 000000000..163c81497 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.PendingConnection.html @@ -0,0 +1,328 @@ + + + + + +ServersCommunicationLayer.PendingConnection (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServersCommunicationLayer.PendingConnection

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      ServersCommunicationLayer
      +
      +
      +
      public static class ServersCommunicationLayer.PendingConnection
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        intremoteId 
        javax.net.ssl.SSLSockets 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        PendingConnection​(javax.net.ssl.SSLSocket s, + int remoteId) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          s

          +
          public javax.net.ssl.SSLSocket s
          +
        • +
        + + + +
          +
        • +

          remoteId

          +
          public int remoteId
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PendingConnection

          +
          public PendingConnection​(javax.net.ssl.SSLSocket s,
          +                         int remoteId)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.html b/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.html new file mode 100644 index 000000000..cb7f02fa9 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/ServersCommunicationLayer.html @@ -0,0 +1,502 @@ + + + + + +ServersCommunicationLayer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServersCommunicationLayer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public class ServersCommunicationLayer
      +extends java.lang.Thread
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        + + + + + + + + + + + + +
        Nested Classes 
        Modifier and TypeClassDescription
        static class ServersCommunicationLayer.PendingConnection 
        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        javax.crypto.SecretKeygetSecretKey​(int id) 
        voidjoinViewReceived() 
        voidrun() 
        voidsend​(int[] targets, + SystemMessage sm, + boolean useMAC) 
        static voidsetSocketOptions​(java.net.Socket socket) 
        static voidsetSSLSocketOptions​(javax.net.ssl.SSLSocket socket) 
        voidshutdown() 
        java.lang.StringtoString() 
        voidupdateConnections() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ServersCommunicationLayer

          +
          public ServersCommunicationLayer​(ServerViewController controller,
          +                                 java.util.concurrent.LinkedBlockingQueue<SystemMessage> inQueue,
          +                                 ServiceReplica replica)
          +                          throws java.lang.Exception
          +
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSecretKey

          +
          public javax.crypto.SecretKey getSecretKey​(int id)
          +
        • +
        + + + +
          +
        • +

          updateConnections

          +
          public void updateConnections()
          +
        • +
        + + + +
          +
        • +

          send

          +
          public final void send​(int[] targets,
          +                       SystemMessage sm,
          +                       boolean useMAC)
          +
        • +
        + + + +
          +
        • +

          shutdown

          +
          public void shutdown()
          +
        • +
        + + + +
          +
        • +

          joinViewReceived

          +
          public void joinViewReceived()
          +
        • +
        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        + + + +
          +
        • +

          setSSLSocketOptions

          +
          public static void setSSLSocketOptions​(javax.net.ssl.SSLSocket socket)
          +
        • +
        + + + +
          +
        • +

          setSocketOptions

          +
          public static void setSocketOptions​(java.net.Socket socket)
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Thread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/Test.html b/docs/javadoc/bftsmart/communication/server/Test.html new file mode 100644 index 000000000..f04ac14da --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/Test.html @@ -0,0 +1,311 @@ + + + + + +Test (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Test

    +
    +
    + +
    +
      +
    • +
      +
      public class Test
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Test() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Test

          +
          public Test()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.Exception
          +
          +
          Parameters:
          +
          args - the command line arguments
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/TestSerialization.html b/docs/javadoc/bftsmart/communication/server/TestSerialization.html new file mode 100644 index 000000000..f60bcdb40 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/TestSerialization.html @@ -0,0 +1,311 @@ + + + + + +TestSerialization (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TestSerialization

    +
    +
    + +
    +
      +
    • +
      +
      public class TestSerialization
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        TestSerialization() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TestSerialization

          +
          public TestSerialization()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.Exception
          +
          +
          Parameters:
          +
          args - the command line arguments
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/communication/server/package-summary.html b/docs/javadoc/bftsmart/communication/server/package-summary.html new file mode 100644 index 000000000..c42d613b6 --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/package-summary.html @@ -0,0 +1,182 @@ + + + + + +bftsmart.communication.server (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.communication.server

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/communication/server/package-tree.html b/docs/javadoc/bftsmart/communication/server/package-tree.html new file mode 100644 index 000000000..5ed69b2df --- /dev/null +++ b/docs/javadoc/bftsmart/communication/server/package-tree.html @@ -0,0 +1,171 @@ + + + + + +bftsmart.communication.server Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.communication.server

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/Consensus.html b/docs/javadoc/bftsmart/consensus/Consensus.html new file mode 100644 index 000000000..0d64006b5 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/Consensus.html @@ -0,0 +1,799 @@ + + + + + +Consensus (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Consensus

    +
    +
    + +
    +
      +
    • +
      +
      public class Consensus
      +extends java.lang.Object
      +
      This class stands for a consensus instance that implements the algorithm + for the Byzantine fault model described in Cachin's 'Yet Another Visit to Paxos' (April 2011)
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        java.util.concurrent.locks.ReentrantLocklock 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Consensus​(ExecutionManager manager, + Decision decision) +
        Creates a new instance of Consensus + + Important: At this point, the 'decision' parameter is only a placeholder + for the future decision, and should not be delivered to the delivery thread.
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddWritten​(byte[] value) +
        Add a value that shall be written to the writeSet
        +
        EpochcreateEpoch​(int timestamp, + ServerViewController recManager) +
        Creates an epoch associated with this consensus, with the specified timestamp
        +
        EpochcreateEpoch​(ServerViewController recManager) +
        Creates a epoch associated with this consensus, supposedly the next
        +
        voiddecided​(Epoch epoch, + boolean deliver) +
        Called by the Acceptor object, to set the decided value
        +
        DecisiongetDecision() +
        This is the decision instance to which this consensus works for + + Important: The returned object should only be sent to the delivery thread + after this consensus instance decides a value.
        +
        EpochgetDecisionEpoch() +
        The epoch at which a decision was possible to make
        +
        EpochgetEpoch​(int timestamp, + boolean create, + ServerViewController controller) +
        Gets a epoch associated with this consensus
        +
        EpochgetEpoch​(int timestamp, + ServerViewController controller) +
        Gets a epoch associated with this consensus
        +
        intgetEts() +
        Returns the timestamp for the current epoch
        +
        intgetId() +
        This is the consensus ID
        +
        EpochgetLastEpoch() +
        The last epoch of this consensus instance
        +
        ExecutionManagergetManager() +
        This is the execution manager for this replica's consensus instances
        +
        TimestampValuePairgetQuorumWrites() +
        Return the value read from a Byzantine quorum of WRITES that has + previously been stored
        +
        java.util.HashSet<TimestampValuePair>getWriteSet() 
        voidincEts() +
        Increments the ETS of this consensus, thus advancing + to the next epoch
        +
        booleanisDecided() +
        Informs whether or not the consensus instance has decided a value
        +
        voidremoveEpochs​(int limit) +
        Removes epochs greater than 'limit' from this consensus instance
        +
        voidremoveWritten​(byte[] value) +
        Remove an already writte value from writeSet
        +
        voidsetETS​(int ets) +
        Increments the ETS of this consensus, thus advancing + to the next epoch
        +
        voidsetQuorumWrites​(byte[] value) +
        Store the value read from a Byzantine quorum of WRITES
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          lock

          +
          public java.util.concurrent.locks.ReentrantLock lock
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Consensus

          +
          public Consensus​(ExecutionManager manager,
          +                 Decision decision)
          +
          Creates a new instance of Consensus + + Important: At this point, the 'decision' parameter is only a placeholder + for the future decision, and should not be delivered to the delivery thread. + + Use 'isDecided()' to check if the consensus already decided a value.
          +
          +
          Parameters:
          +
          manager - Execution manager for this replica's consensus instances
          +
          decision - Decision instance to which this consensus works for.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getId

          +
          public int getId()
          +
          This is the consensus ID
          +
          +
          Returns:
          +
          Consensus ID
          +
          +
        • +
        + + + +
          +
        • +

          getManager

          +
          public ExecutionManager getManager()
          +
          This is the execution manager for this replica's consensus instances
          +
          +
          Returns:
          +
          Execution manager for this replica
          +
          +
        • +
        + + + +
          +
        • +

          getDecision

          +
          public Decision getDecision()
          +
          This is the decision instance to which this consensus works for + + Important: The returned object should only be sent to the delivery thread + after this consensus instance decides a value. Use 'isDecided()' to check if + the consensus already decided a value.
          +
          +
          Returns:
          +
          Decision instance to which this consensus works for
          +
          +
        • +
        + + + +
          +
        • +

          getEpoch

          +
          public Epoch getEpoch​(int timestamp,
          +                      ServerViewController controller)
          +
          Gets a epoch associated with this consensus
          +
          +
          Parameters:
          +
          timestamp - The timestamp of the epoch
          +
          controller - The view controller for the replicas
          +
          Returns:
          +
          The epoch
          +
          +
        • +
        + + + +
          +
        • +

          getEpoch

          +
          public Epoch getEpoch​(int timestamp,
          +                      boolean create,
          +                      ServerViewController controller)
          +
          Gets a epoch associated with this consensus
          +
          +
          Parameters:
          +
          timestamp - The number of the epoch
          +
          create - if the epoch is to be created if not existent
          +
          controller - The view controller for the replicas
          +
          Returns:
          +
          The epoch
          +
          +
        • +
        + + + +
          +
        • +

          incEts

          +
          public void incEts()
          +
          Increments the ETS of this consensus, thus advancing + to the next epoch
          +
        • +
        + + + +
          +
        • +

          setETS

          +
          public void setETS​(int ets)
          +
          Increments the ETS of this consensus, thus advancing + to the next epoch
          +
          +
          Parameters:
          +
          ets - New ETS for this consensus, to advance + to the next epoch. It must be greater than the current ETS
          +
          +
        • +
        + + + +
          +
        • +

          getEts

          +
          public int getEts()
          +
          Returns the timestamp for the current epoch
          +
          +
          Returns:
          +
          the timestamp for the current epoch
          +
          +
        • +
        + + + +
          +
        • +

          setQuorumWrites

          +
          public void setQuorumWrites​(byte[] value)
          +
          Store the value read from a Byzantine quorum of WRITES
          +
          +
          Parameters:
          +
          value -
          +
          +
        • +
        + + + +
          +
        • +

          getQuorumWrites

          +
          public TimestampValuePair getQuorumWrites()
          +
          Return the value read from a Byzantine quorum of WRITES that has + previously been stored
          +
          +
          Returns:
          +
          the value read from a Byzantine quorum of WRITES, if such + value has been obtained already
          +
          +
        • +
        + + + +
          +
        • +

          addWritten

          +
          public void addWritten​(byte[] value)
          +
          Add a value that shall be written to the writeSet
          +
          +
          Parameters:
          +
          value - Value to write to the writeSet
          +
          +
        • +
        + + + +
          +
        • +

          removeWritten

          +
          public void removeWritten​(byte[] value)
          +
          Remove an already writte value from writeSet
          +
          +
          Parameters:
          +
          value - valor a remover do writeSet
          +
          +
        • +
        + + + + + + + +
          +
        • +

          createEpoch

          +
          public Epoch createEpoch​(int timestamp,
          +                         ServerViewController recManager)
          +
          Creates an epoch associated with this consensus, with the specified timestamp
          +
          +
          Parameters:
          +
          timestamp - The timestamp to associated to this epoch
          +
          recManager - The replica's ServerViewController
          +
          Returns:
          +
          The epoch
          +
          +
        • +
        + + + +
          +
        • +

          createEpoch

          +
          public Epoch createEpoch​(ServerViewController recManager)
          +
          Creates a epoch associated with this consensus, supposedly the next
          +
          +
          Parameters:
          +
          recManager - The replica's ServerViewController
          +
          Returns:
          +
          The epoch
          +
          +
        • +
        + + + +
          +
        • +

          removeEpochs

          +
          public void removeEpochs​(int limit)
          +
          Removes epochs greater than 'limit' from this consensus instance
          +
          +
          Parameters:
          +
          limit - Epochs that should be kept (from 0 to 'limit')
          +
          +
        • +
        + + + +
          +
        • +

          getDecisionEpoch

          +
          public Epoch getDecisionEpoch()
          +
          The epoch at which a decision was possible to make
          +
          +
          Returns:
          +
          Epoch at which a decision was possible to make
          +
          +
        • +
        + + + +
          +
        • +

          getLastEpoch

          +
          public Epoch getLastEpoch()
          +
          The last epoch of this consensus instance
          +
          +
          Returns:
          +
          Last epoch of this consensus instance
          +
          +
        • +
        + + + +
          +
        • +

          isDecided

          +
          public boolean isDecided()
          +
          Informs whether or not the consensus instance has decided a value
          +
          +
          Returns:
          +
          True if it is decided, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          decided

          +
          public void decided​(Epoch epoch,
          +                    boolean deliver)
          +
          Called by the Acceptor object, to set the decided value
          +
          +
          Parameters:
          +
          epoch - The epoch at which a decision was made
          +
          deliver - Set to true to deliver decision to TOMLayer/DeliveryThread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/Decision.html b/docs/javadoc/bftsmart/consensus/Decision.html new file mode 100644 index 000000000..b5b83ec2a --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/Decision.html @@ -0,0 +1,557 @@ + + + + + +Decision (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Decision

    +
    +
    + +
    +
      +
    • +
      +
      public class Decision
      +extends java.lang.Object
      +
      This class represents a Consensus Instance.
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Decision​(int cid) +
        Creates a new instance of Decision
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intgetConsensusId() +
        The ID for the associated consensus
        +
        EpochgetDecisionEpoch() +
        Get epoch in which the value was decided
        +
        TOMMessage[]getDeserializedValue() 
        intgetLeader() +
        Returns leader with which the value was decided
        +
        intgetRegency() +
        Returns regency in which the value was decided
        +
        byte[]getValue() +
        Sets the decided value
        +
        voidsetDecisionEpoch​(Epoch epoch) +
        Set epoch in which the value was decided
        +
        voidsetLeader​(int leader) +
        Set leader with which the value was decided
        +
        voidsetRegency​(int regency) +
        Set regency in which the value was decided
        +
        voidsetValue​(byte[] value) +
        Sets the value of consensus
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          firstMessageProposed

          +
          public TOMMessage firstMessageProposed
          +
        • +
        + + + +
          +
        • +

          batchSize

          +
          public int batchSize
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Decision

          +
          public Decision​(int cid)
          +
          Creates a new instance of Decision
          +
          +
          Parameters:
          +
          cid - The ID for the respective consensus
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setRegency

          +
          public void setRegency​(int regency)
          +
          Set regency in which the value was decided
          +
          +
          Parameters:
          +
          regency - Regency in which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          setLeader

          +
          public void setLeader​(int leader)
          +
          Set leader with which the value was decided
          +
          +
          Parameters:
          +
          leader - Leader with which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          getRegency

          +
          public int getRegency()
          +
          Returns regency in which the value was decided
          +
          +
          Returns:
          +
          Regency in which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          getLeader

          +
          public int getLeader()
          +
          Returns leader with which the value was decided
          +
          +
          Returns:
          +
          Leader with which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          setDecisionEpoch

          +
          public void setDecisionEpoch​(Epoch epoch)
          +
          Set epoch in which the value was decided
          +
          +
          Parameters:
          +
          epoch - The epoch in which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          getDecisionEpoch

          +
          public Epoch getDecisionEpoch()
          +
          Get epoch in which the value was decided
          +
          +
          Returns:
          +
          The epoch in which the value was decided
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public byte[] getValue()
          +
          Sets the decided value
          +
          +
          Returns:
          +
          Decided Value
          +
          +
        • +
        + + + +
          +
        • +

          getDeserializedValue

          +
          public TOMMessage[] getDeserializedValue()
          +
        • +
        + + + +
          +
        • +

          getConsensusId

          +
          public int getConsensusId()
          +
          The ID for the associated consensus
          +
          +
          Returns:
          +
          ID for the associated consensus
          +
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue​(byte[] value)
          +
          Sets the value of consensus
          +
          +
          Parameters:
          +
          value - of consensus
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/Epoch.html b/docs/javadoc/bftsmart/consensus/Epoch.html new file mode 100644 index 000000000..253ec985f --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/Epoch.html @@ -0,0 +1,997 @@ + + + + + +Epoch (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Epoch

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class Epoch
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      This class stands for a consensus epoch, as described in + Cachin's 'Yet Another Visit to Paxos' (April 2011)
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Epoch​(ServerViewController controller, + Consensus parent, + int timestamp) +
        Creates a new instance of Epoch for acceptors
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidacceptCreated() +
        Indicate that the consensus instance already created its ACCEPT message
        +
        voidacceptSent() +
        Indicate that the consensus instance already sent its ACCEPT message
        +
        voidaddToProof​(ConsensusMessage pm) 
        voidclear() +
        Clear all epoch info.
        +
        intcountAccept​(byte[] value) +
        Retrieves the amount of replicas from which this process accepted a specified value
        +
        int[]countAcceptFrom​(byte[] value) +
        Retrieves th replicas from which this process accepted a specified value
        +
        intcountWrite​(byte[] value) +
        Retrieves the amount of replicas from which this process received a WRITE value
        +
        booleanequals​(java.lang.Object o) 
        ConsensusMessagefetchAccept() +
        Fetch the speculative ACCEPT message.
        +
        byte[][]getAccept() +
        Retrieves all accepted values from all replicas
        +
        byte[]getAccept​(int acceptor) +
        Retrieves the accepted value from the specified replica
        +
        ConsensusgetConsensus() +
        Retrieves this epoch's consensus
        +
        java.util.Set<ConsensusMessage>getProof() 
        intgetTimestamp() +
        Retrieves this epoch's timestamp
        +
        byte[][]getWrite() +
        Retrieves all WRITE value from all replicas
        +
        byte[]getWrite​(int acceptor) +
        Retrives the WRITE value from the specified replica
        +
        booleanisAcceptCreated() +
        Indicates if the consensus instance already created its ACCEPT message
        +
        booleanisAcceptSent() +
        Indicates if the consensus instance already sent its ACCEPT message
        +
        booleanisAcceptSetted​(int acceptor) +
        Informs if there is a accepted value from a replica
        +
        booleanisRemoved() +
        Informs if this epoch was removed from its consensus instance
        +
        booleanisWriteSent() +
        Indicates if the consensus instance already sent its WRITE message
        +
        booleanisWriteSetted​(int acceptor) +
        Informs if there is a WRITE value from a replica
        +
        voidsetAccept​(int acceptor, + byte[] value) +
        Sets the accepted value from the specified replica
        +
        voidsetAcceptMsg​(ConsensusMessage acceptMsg) +
        Set the speculative ACCEPT message
        +
        voidsetProof​(java.util.HashSet<ConsensusMessage> proof) 
        voidsetRemoved() +
        Set this epoch as removed from its consensus instance
        +
        voidsetWrite​(int acceptor, + byte[] value) +
        Sets the WRITE value from the specified replica
        +
        java.lang.StringtoString() +
        Print epoch information.
        +
        voidwriteSent() +
        Indicate that the consensus instance already sent its WRITE message
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          propValue

          +
          public byte[] propValue
          +
        • +
        + + + +
          +
        • +

          deserializedPropValue

          +
          public TOMMessage[] deserializedPropValue
          +
        • +
        + + + +
          +
        • +

          propValueHash

          +
          public byte[] propValueHash
          +
        • +
        + + + + + + + +
          +
        • +

          decisionRequested

          +
          public boolean decisionRequested
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Epoch

          +
          public Epoch​(ServerViewController controller,
          +             Consensus parent,
          +             int timestamp)
          +
          Creates a new instance of Epoch for acceptors
          +
          +
          Parameters:
          +
          controller -
          +
          parent - Consensus to which this epoch belongs
          +
          timestamp - Timestamp of the epoch
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setRemoved

          +
          public void setRemoved()
          +
          Set this epoch as removed from its consensus instance
          +
        • +
        + + + +
          +
        • +

          isRemoved

          +
          public boolean isRemoved()
          +
          Informs if this epoch was removed from its consensus instance
          +
          +
          Returns:
          +
          True if it is removed, false otherwise
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setProof

          +
          public void setProof​(java.util.HashSet<ConsensusMessage> proof)
          +
        • +
        + + + + + + + +
          +
        • +

          getTimestamp

          +
          public int getTimestamp()
          +
          Retrieves this epoch's timestamp
          +
          +
          Returns:
          +
          This epoch's timestamp
          +
          +
        • +
        + + + +
          +
        • +

          getConsensus

          +
          public Consensus getConsensus()
          +
          Retrieves this epoch's consensus
          +
          +
          Returns:
          +
          This epoch's consensus
          +
          +
        • +
        + + + +
          +
        • +

          isWriteSetted

          +
          public boolean isWriteSetted​(int acceptor)
          +
          Informs if there is a WRITE value from a replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          Returns:
          +
          True if there is a WRITE value from a replica, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          isAcceptSetted

          +
          public boolean isAcceptSetted​(int acceptor)
          +
          Informs if there is a accepted value from a replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          Returns:
          +
          True if there is a accepted value from a replica, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          getWrite

          +
          public byte[] getWrite​(int acceptor)
          +
          Retrives the WRITE value from the specified replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          Returns:
          +
          The value from the specified replica
          +
          +
        • +
        + + + +
          +
        • +

          getWrite

          +
          public byte[][] getWrite()
          +
          Retrieves all WRITE value from all replicas
          +
          +
          Returns:
          +
          The values from all replicas
          +
          +
        • +
        + + + +
          +
        • +

          setWrite

          +
          public void setWrite​(int acceptor,
          +                     byte[] value)
          +
          Sets the WRITE value from the specified replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          value - The valuefrom the specified replica
          +
          +
        • +
        + + + +
          +
        • +

          getAccept

          +
          public byte[] getAccept​(int acceptor)
          +
          Retrieves the accepted value from the specified replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          Returns:
          +
          The value accepted from the specified replica
          +
          +
        • +
        + + + +
          +
        • +

          getAccept

          +
          public byte[][] getAccept()
          +
          Retrieves all accepted values from all replicas
          +
          +
          Returns:
          +
          The values accepted from all replicas
          +
          +
        • +
        + + + +
          +
        • +

          setAccept

          +
          public void setAccept​(int acceptor,
          +                      byte[] value)
          +
          Sets the accepted value from the specified replica
          +
          +
          Parameters:
          +
          acceptor - The replica ID
          +
          value - The value accepted from the specified replica
          +
          +
        • +
        + + + +
          +
        • +

          countWrite

          +
          public int countWrite​(byte[] value)
          +
          Retrieves the amount of replicas from which this process received a WRITE value
          +
          +
          Parameters:
          +
          value - The value in question
          +
          Returns:
          +
          Amount of replicas from which this process received the specified value
          +
          +
        • +
        + + + +
          +
        • +

          countAccept

          +
          public int countAccept​(byte[] value)
          +
          Retrieves the amount of replicas from which this process accepted a specified value
          +
          +
          Parameters:
          +
          value - The value in question
          +
          Returns:
          +
          Amount of replicas from which this process accepted the specified value
          +
          +
        • +
        + + + +
          +
        • +

          countAcceptFrom

          +
          public int[] countAcceptFrom​(byte[] value)
          +
          Retrieves th replicas from which this process accepted a specified value
          +
          +
          Parameters:
          +
          value - The value in question
          +
          Returns:
          +
          replicas from which this process accepted the specified value
          +
          +
        • +
        + + + +
          +
        • +

          writeSent

          +
          public void writeSent()
          +
          Indicate that the consensus instance already sent its WRITE message
          +
        • +
        + + + +
          +
        • +

          acceptSent

          +
          public void acceptSent()
          +
          Indicate that the consensus instance already sent its ACCEPT message
          +
        • +
        + + + +
          +
        • +

          acceptCreated

          +
          public void acceptCreated()
          +
          Indicate that the consensus instance already created its ACCEPT message
          +
        • +
        + + + +
          +
        • +

          isWriteSent

          +
          public boolean isWriteSent()
          +
          Indicates if the consensus instance already sent its WRITE message
          +
          +
          Returns:
          +
          true if WRITE was indicated as sent, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          isAcceptSent

          +
          public boolean isAcceptSent()
          +
          Indicates if the consensus instance already sent its ACCEPT message
          +
          +
          Returns:
          +
          true if ACCEPT was indicated as sent, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          isAcceptCreated

          +
          public boolean isAcceptCreated()
          +
          Indicates if the consensus instance already created its ACCEPT message
          +
          +
          Returns:
          +
          true if ACCEPT was indicated as created, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          setAcceptMsg

          +
          public void setAcceptMsg​(ConsensusMessage acceptMsg)
          +
          Set the speculative ACCEPT message
          +
          +
          Parameters:
          +
          acceptMsg - The speculative ACCEPT message
          +
          +
        • +
        + + + +
          +
        • +

          fetchAccept

          +
          public ConsensusMessage fetchAccept()
          +
          Fetch the speculative ACCEPT message. This method blocks until such message is set with setAcceptMsg(...);
          +
          +
          Returns:
          +
          The speculative ACCEPT message
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          Print epoch information.
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object o)
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public void clear()
          +
          Clear all epoch info.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/TimestampValuePair.html b/docs/javadoc/bftsmart/consensus/TimestampValuePair.html new file mode 100644 index 000000000..3b9d5c9d2 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/TimestampValuePair.html @@ -0,0 +1,508 @@ + + + + + +TimestampValuePair (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TimestampValuePair

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class TimestampValuePair
      +extends java.lang.Object
      +implements java.io.Externalizable
      +
      This class associates a timestamp to a value
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        TimestampValuePair() +
        Empty construtor
        +
        TimestampValuePair​(int timestamp, + byte[] value) +
        Constructor
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanequals​(java.lang.Object o) 
        byte[]getHashedValue() +
        Get the value's hash
        +
        intgetTimestamp() +
        Get timestamp
        +
        byte[]getValue() +
        Get value
        +
        inthashCode() 
        voidreadExternal​(java.io.ObjectInput in) 
        voidsetHashedValue​(byte[] hashedValue) +
        Set the value's hash
        +
        java.lang.StringtoString() 
        voidwriteExternal​(java.io.ObjectOutput out) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TimestampValuePair

          +
          public TimestampValuePair​(int timestamp,
          +                          byte[] value)
          +
          Constructor
          +
          +
          Parameters:
          +
          timestamp - Timestamp
          +
          value - Value
          +
          +
        • +
        + + + +
          +
        • +

          TimestampValuePair

          +
          public TimestampValuePair()
          +
          Empty construtor
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setHashedValue

          +
          public void setHashedValue​(byte[] hashedValue)
          +
          Set the value's hash
          +
          +
          Parameters:
          +
          hashedValue - Sintese do valor
          +
          +
        • +
        + + + +
          +
        • +

          getHashedValue

          +
          public byte[] getHashedValue()
          +
          Get the value's hash
          +
          +
          Returns:
          +
          hash of the value
          +
          +
        • +
        + + + +
          +
        • +

          getTimestamp

          +
          public int getTimestamp()
          +
          Get timestamp
          +
          +
          Returns:
          +
          The timestamp
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public byte[] getValue()
          +
          Get value
          +
          +
          Returns:
          +
          Value
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object o)
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/messages/ConsensusMessage.html b/docs/javadoc/bftsmart/consensus/messages/ConsensusMessage.html new file mode 100644 index 000000000..92f572515 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/messages/ConsensusMessage.html @@ -0,0 +1,600 @@ + + + + + +ConsensusMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ConsensusMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class ConsensusMessage
      +extends SystemMessage
      +
      This class represents a message used in a epoch of a consensus instance.
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        ConsensusMessage() +
        Creates a consensus message.
        +
        ConsensusMessage​(int type, + int id, + int epoch, + int from) +
        Creates a consensus message.
        +
        ConsensusMessage​(int paxosType, + int id, + int epoch, + int from, + byte[] value) +
        Creates a consensus message.
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intgetEpoch() +
        Retrieves the epoch number to which this message belongs
        +
        intgetNumber() +
        Returns the consensus ID of this message
        +
        java.lang.StringgetPaxosVerboseType() +
        Returns this message type as a verbose string
        +
        java.lang.ObjectgetProof() +
        Returns the proof associated with a PROPOSE or COLLECT message
        +
        intgetType() +
        Returns this message type
        +
        byte[]getValue() +
        Retrieves the value contained in the message.
        +
        voidreadExternal​(java.io.ObjectInput in) 
        voidsetProof​(java.lang.Object proof) 
        java.lang.StringtoString() 
        voidwriteExternal​(java.io.ObjectOutput out) 
        + +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ConsensusMessage

          +
          public ConsensusMessage()
          +
          Creates a consensus message. Not used. TODO: How about making it private?
          +
        • +
        + + + +
          +
        • +

          ConsensusMessage

          +
          public ConsensusMessage​(int paxosType,
          +                        int id,
          +                        int epoch,
          +                        int from,
          +                        byte[] value)
          +
          Creates a consensus message. Used by the message factory to create a COLLECT or PROPOSE message + TODO: How about removing the modifier, to make it visible just within the package?
          +
          +
          Parameters:
          +
          paxosType - This should be MessageFactory.COLLECT or MessageFactory.PROPOSE
          +
          id - Consensus's ID
          +
          epoch - Epoch timestamp
          +
          from - This should be this process ID
          +
          value - This should be null if its a COLLECT message, or the proposed value if it is a PROPOSE message
          +
          +
        • +
        + + + +
          +
        • +

          ConsensusMessage

          +
          public ConsensusMessage​(int type,
          +                        int id,
          +                        int epoch,
          +                        int from)
          +
          Creates a consensus message. Used by the message factory to create a FREEZE message + TODO: How about removing the modifier, to make it visible just within the package?
          +
          +
          Parameters:
          +
          type - This should be MessageFactory.FREEZE
          +
          id - Consensus's consensus ID
          +
          epoch - Epoch timestamp
          +
          from - This should be this process ID
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        + + + +
          +
        • +

          getEpoch

          +
          public int getEpoch()
          +
          Retrieves the epoch number to which this message belongs
          +
          +
          Returns:
          +
          Epoch to which this message belongs
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public byte[] getValue()
          +
          Retrieves the value contained in the message.
          +
          +
          Returns:
          +
          The value
          +
          +
        • +
        + + + +
          +
        • +

          setProof

          +
          public void setProof​(java.lang.Object proof)
          +
        • +
        + + + +
          +
        • +

          getProof

          +
          public java.lang.Object getProof()
          +
          Returns the proof associated with a PROPOSE or COLLECT message
          +
          +
          Returns:
          +
          The proof
          +
          +
        • +
        + + + +
          +
        • +

          getNumber

          +
          public int getNumber()
          +
          Returns the consensus ID of this message
          +
          +
          Returns:
          +
          Consensus ID of this message
          +
          +
        • +
        + + + +
          +
        • +

          getType

          +
          public int getType()
          +
          Returns this message type
          +
          +
          Returns:
          +
          This message type
          +
          +
        • +
        + + + +
          +
        • +

          getPaxosVerboseType

          +
          public java.lang.String getPaxosVerboseType()
          +
          Returns this message type as a verbose string
          +
          +
          Returns:
          +
          Message type
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/messages/MessageFactory.html b/docs/javadoc/bftsmart/consensus/messages/MessageFactory.html new file mode 100644 index 000000000..d9dd1c8c4 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/messages/MessageFactory.html @@ -0,0 +1,561 @@ + + + + + +MessageFactory (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MessageFactory

    +
    +
    + +
    +
      +
    • +
      +
      public class MessageFactory
      +extends java.lang.Object
      +
      This class work as a factory of messages used in the paxos protocol.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static intACCEPT 
        static intFWD_DECISION 
        static intPROPOSE 
        static intREQ_DECISION 
        static intWRITE 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        MessageFactory​(int from) +
        Creates a message factory
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        ConsensusMessagecreateAccept​(int id, + int epoch, + byte[] value) +
        Creates an ACCEPT message to be sent by this process
        +
        ConsensusMessagecreateForwardDecision​(int id, + int epoch, + byte[] value) +
        Creates a FWD_DECISION message to be sent by this process
        +
        ConsensusMessagecreatePropose​(int id, + int epoch, + byte[] value) +
        Creates a PROPOSE message to be sent by this process
        +
        ConsensusMessagecreateRequestDecision​(int id, + int epoch, + byte[] value) +
        Creates a REQUEST_DECISION message to be sent by this process
        +
        ConsensusMessagecreateWrite​(int id, + int epoch, + byte[] value) +
        Creates a WRITE message to be sent by this process
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MessageFactory

          +
          public MessageFactory​(int from)
          +
          Creates a message factory
          +
          +
          Parameters:
          +
          from - Replica ID of the process which sent this message
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          createPropose

          +
          public ConsensusMessage createPropose​(int id,
          +                                      int epoch,
          +                                      byte[] value)
          +
          Creates a PROPOSE message to be sent by this process
          +
          +
          Parameters:
          +
          id - Consensus's execution ID
          +
          epoch - Epoch number
          +
          value - Proposed value
          +
          proof - Proofs from other replicas
          +
          Returns:
          +
          A paxos message of the PROPOSE type, with the specified id, epoch, value, and proof
          +
          +
        • +
        + + + +
          +
        • +

          createWrite

          +
          public ConsensusMessage createWrite​(int id,
          +                                    int epoch,
          +                                    byte[] value)
          +
          Creates a WRITE message to be sent by this process
          +
          +
          Parameters:
          +
          id - Consensus's execution ID
          +
          epoch - Epoch number
          +
          value - Write value
          +
          Returns:
          +
          A consensus message of the WRITE type, with the specified id, epoch, and value
          +
          +
        • +
        + + + +
          +
        • +

          createAccept

          +
          public ConsensusMessage createAccept​(int id,
          +                                     int epoch,
          +                                     byte[] value)
          +
          Creates an ACCEPT message to be sent by this process
          +
          +
          Parameters:
          +
          id - Consensus's execution ID
          +
          epoch - Epoch number
          +
          value - Accepted value
          +
          Returns:
          +
          A consensus message of the ACCEPT type, with the specified id, epoch, and value
          +
          +
        • +
        + + + +
          +
        • +

          createRequestDecision

          +
          public ConsensusMessage createRequestDecision​(int id,
          +                                              int epoch,
          +                                              byte[] value)
          +
          Creates a REQUEST_DECISION message to be sent by this process
          +
          +
          Parameters:
          +
          id - Consensus's execution ID
          +
          epoch - Epoch number
          +
          Returns:
          +
          A consensus message of the REQ_DECISION type, with the specified id, epoch, and value
          +
          +
        • +
        + + + +
          +
        • +

          createForwardDecision

          +
          public ConsensusMessage createForwardDecision​(int id,
          +                                              int epoch,
          +                                              byte[] value)
          +
          Creates a FWD_DECISION message to be sent by this process
          +
          +
          Parameters:
          +
          id - Consensus's execution ID
          +
          epoch - Epoch number
          +
          value - Write value
          +
          Returns:
          +
          A consensus message of the FWD_DECISION type, with the specified id, epoch, and value
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/messages/package-summary.html b/docs/javadoc/bftsmart/consensus/messages/package-summary.html new file mode 100644 index 000000000..09879e852 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/messages/package-summary.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.consensus.messages (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.consensus.messages

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/messages/package-tree.html b/docs/javadoc/bftsmart/consensus/messages/package-tree.html new file mode 100644 index 000000000..94d6da386 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/messages/package-tree.html @@ -0,0 +1,166 @@ + + + + + +bftsmart.consensus.messages Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.consensus.messages

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/package-summary.html b/docs/javadoc/bftsmart/consensus/package-summary.html new file mode 100644 index 000000000..89a01dc5e --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/package-summary.html @@ -0,0 +1,186 @@ + + + + + +bftsmart.consensus (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.consensus

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/package-tree.html b/docs/javadoc/bftsmart/consensus/package-tree.html new file mode 100644 index 000000000..af35141bb --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/package-tree.html @@ -0,0 +1,164 @@ + + + + + +bftsmart.consensus Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.consensus

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/roles/Acceptor.html b/docs/javadoc/bftsmart/consensus/roles/Acceptor.html new file mode 100644 index 000000000..96b6d9211 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/roles/Acceptor.html @@ -0,0 +1,488 @@ + + + + + +Acceptor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Acceptor

    +
    +
    + +
    +
      +
    • +
      +
      public final class Acceptor
      +extends java.lang.Object
      +
      This class represents the acceptor role in the consensus protocol. This class + work together with the TOMLayer class in order to supply a atomic multicast + service.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Acceptor

          +
          public Acceptor​(ServerCommunicationSystem communication,
          +                MessageFactory factory,
          +                ServerViewController controller)
          +
          Creates a new instance of Acceptor.
          +
          +
          Parameters:
          +
          communication - Replicas communication system
          +
          factory - Message factory for PaW messages
          +
          controller - sever view controller
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setExecutionManager

          +
          public void setExecutionManager​(ExecutionManager manager)
          +
          Sets the execution manager for this acceptor
          +
          +
          Parameters:
          +
          manager - Execution manager for this acceptor
          +
          +
        • +
        + + + +
          +
        • +

          setTOMLayer

          +
          public void setTOMLayer​(TOMLayer tom)
          +
          Sets the TOM layer for this acceptor
          +
          +
          Parameters:
          +
          tom - TOM layer for this acceptor
          +
          +
        • +
        + + + +
          +
        • +

          deliver

          +
          public final void deliver​(ConsensusMessage msg)
          +
          Called by communication layer to delivery Paxos messages. This method only + verifies if the message can be executed and calls process message (storing it + on an out of context message buffer if this is not the case)
          +
          +
          Parameters:
          +
          msg - Paxos messages delivered by the communication layer
          +
          +
        • +
        + + + +
          +
        • +

          processMessage

          +
          public final void processMessage​(ConsensusMessage msg)
          +
          Called when a Consensus message is received or when a out of context message + must be processed. It processes the received message according to its type
          +
          +
          Parameters:
          +
          msg - The message to be processed
          +
          +
        • +
        + + + +
          +
        • +

          proposeReceived

          +
          public void proposeReceived​(Epoch epoch,
          +                            ConsensusMessage msg)
          +
          Called when a PROPOSE message is received or when processing a formerly out + of context propose which is know belongs to the current consensus.
          +
          +
          Parameters:
          +
          msg - The PROPOSE message to by processed
          +
          +
        • +
        + + + +
          +
        • +

          sendRequestDecision

          +
          public void sendRequestDecision​(Epoch epoch,
          +                                int cid,
          +                                int[] receivers,
          +                                byte[] value)
          +
          Send a REQ_DECISION to others
          +
          +
          Parameters:
          +
          epoch - the current epoch
          +
          cid - consensus id
          +
          receivers - the replicas that are asked
          +
          value - epoch.propValueHash
          +
          +
        • +
        + + + +
          +
        • +

          verifyDecision

          +
          public boolean verifyDecision​(ConsensusMessage msg)
          +
          verifyDecision takes a FORWARDED-DECISION message and checks if the contained decision can be verified using + the attached proof. The proof is a set of ACCEPT messages which
          +
          +
          Parameters:
          +
          msg - a Consensus Message: must be a FORWARD-DECISION
          +
          Returns:
          +
          if the FORWARD-DECISION is good
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/roles/Proposer.html b/docs/javadoc/bftsmart/consensus/roles/Proposer.html new file mode 100644 index 000000000..bb9625c39 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/roles/Proposer.html @@ -0,0 +1,331 @@ + + + + + +Proposer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Proposer

    +
    +
    + +
    +
      +
    • +
      +
      public class Proposer
      +extends java.lang.Object
      +
      This class represents the proposer role in the consensus protocol.
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidstartConsensus​(int cid, + byte[] value) +
        This method is called by the TOMLayer (or any other) + to start the consensus instance.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Proposer

          +
          public Proposer​(ServerCommunicationSystem communication,
          +                MessageFactory factory,
          +                ServerViewController controller)
          +
          Creates a new instance of Proposer
          +
          +
          Parameters:
          +
          communication - Replicas communication system
          +
          factory - Factory for PaW messages
          +
          verifier - Proof verifier
          +
          conf - TOM configuration
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          startConsensus

          +
          public void startConsensus​(int cid,
          +                           byte[] value)
          +
          This method is called by the TOMLayer (or any other) + to start the consensus instance.
          +
          +
          Parameters:
          +
          cid - ID for the consensus instance to be started
          +
          value - Value to be proposed
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/consensus/roles/package-summary.html b/docs/javadoc/bftsmart/consensus/roles/package-summary.html new file mode 100644 index 000000000..3f6758413 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/roles/package-summary.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.consensus.roles (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.consensus.roles

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/consensus/roles/package-tree.html b/docs/javadoc/bftsmart/consensus/roles/package-tree.html new file mode 100644 index 000000000..0e54214a2 --- /dev/null +++ b/docs/javadoc/bftsmart/consensus/roles/package-tree.html @@ -0,0 +1,162 @@ + + + + + +bftsmart.consensus.roles Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.consensus.roles

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/counter/CounterClient.html b/docs/javadoc/bftsmart/demo/counter/CounterClient.html new file mode 100644 index 000000000..6f08dc31c --- /dev/null +++ b/docs/javadoc/bftsmart/demo/counter/CounterClient.html @@ -0,0 +1,310 @@ + + + + + +CounterClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterClient

    +
    +
    + +
    +
      +
    • +
      +
      public class CounterClient
      +extends java.lang.Object
      +
      Example client that updates a BFT replicated service (a counter).
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        CounterClient() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CounterClient

          +
          public CounterClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/counter/CounterServer.html b/docs/javadoc/bftsmart/demo/counter/CounterServer.html new file mode 100644 index 000000000..f41683dff --- /dev/null +++ b/docs/javadoc/bftsmart/demo/counter/CounterServer.html @@ -0,0 +1,460 @@ + + + + + +CounterServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterServer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Executable, Recoverable, SingleExecutable
      +
      +
      +
      public final class CounterServer
      +extends DefaultSingleRecoverable
      +
      Example replica that implements a BFT replicated service (a counter). + If the increment > 0 the counter is incremented, otherwise, the counter + value is read.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CounterServer

          +
          public CounterServer​(int id)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] command,
          +                                  MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The unordered request
          +
          msgCtx - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteOrdered

          +
          public byte[] appExecuteOrdered​(byte[] command,
          +                                MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteOrdered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The ordered request
          +
          msgCtx - The context associated to each request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultSingleRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/counter/package-summary.html b/docs/javadoc/bftsmart/demo/counter/package-summary.html new file mode 100644 index 000000000..74d642e6f --- /dev/null +++ b/docs/javadoc/bftsmart/demo/counter/package-summary.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.demo.counter (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.demo.counter

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/counter/package-tree.html b/docs/javadoc/bftsmart/demo/counter/package-tree.html new file mode 100644 index 000000000..972acb974 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/counter/package-tree.html @@ -0,0 +1,166 @@ + + + + + +bftsmart.demo.counter Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.demo.counter

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/map/MapClient.html b/docs/javadoc/bftsmart/demo/map/MapClient.html new file mode 100644 index 000000000..60a03ef2f --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/MapClient.html @@ -0,0 +1,553 @@ + + + + + +MapClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MapClient<K,​V>

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.util.Map<K,​V>
      +
      +
      +
      public class MapClient<K,​V>
      +extends java.lang.Object
      +implements java.util.Map<K,​V>
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from interface java.util.Map

          +java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        MapClient​(int clientId) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidclear() 
        voidclose() 
        booleancontainsKey​(java.lang.Object key) 
        booleancontainsValue​(java.lang.Object value) 
        java.util.Set<java.util.Map.Entry<K,​V>>entrySet() 
        Vget​(java.lang.Object key) 
        booleanisEmpty() 
        java.util.Set<K>keySet() 
        Vput​(K key, + V value) 
        voidputAll​(java.util.Map<? extends K,​? extends V> m) 
        Vremove​(java.lang.Object key) 
        intsize() 
        java.util.Collection<V>values() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface java.util.Map

          +compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MapClient

          +
          public MapClient​(int clientId)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + +
          +
        • +

          put

          +
          public V put​(K key,
          +             V value)
          +
          +
          Specified by:
          +
          put in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          get

          +
          public V get​(java.lang.Object key)
          +
          +
          Specified by:
          +
          get in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public V remove​(java.lang.Object key)
          +
          +
          Specified by:
          +
          remove in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          size

          +
          public int size()
          +
          +
          Specified by:
          +
          size in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          keySet

          +
          public java.util.Set<K> keySet()
          +
          +
          Specified by:
          +
          keySet in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          close

          +
          public void close()
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public void clear()
          +
          +
          Specified by:
          +
          clear in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          containsKey

          +
          public boolean containsKey​(java.lang.Object key)
          +
          +
          Specified by:
          +
          containsKey in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          containsValue

          +
          public boolean containsValue​(java.lang.Object value)
          +
          +
          Specified by:
          +
          containsValue in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          entrySet

          +
          public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
          +
          +
          Specified by:
          +
          entrySet in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public boolean isEmpty()
          +
          +
          Specified by:
          +
          isEmpty in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          putAll

          +
          public void putAll​(java.util.Map<? extends K,​? extends V> m)
          +
          +
          Specified by:
          +
          putAll in interface java.util.Map<K,​V>
          +
          +
        • +
        + + + +
          +
        • +

          values

          +
          public java.util.Collection<V> values()
          +
          +
          Specified by:
          +
          values in interface java.util.Map<K,​V>
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/map/MapInteractiveClient.html b/docs/javadoc/bftsmart/demo/map/MapInteractiveClient.html new file mode 100644 index 000000000..70d0c2967 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/MapInteractiveClient.html @@ -0,0 +1,304 @@ + + + + + +MapInteractiveClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MapInteractiveClient

    +
    +
    + +
    +
      +
    • +
      +
      public class MapInteractiveClient
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MapInteractiveClient

          +
          public MapInteractiveClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/map/MapMessage.html b/docs/javadoc/bftsmart/demo/map/MapMessage.html new file mode 100644 index 000000000..f8c7ccf81 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/MapMessage.html @@ -0,0 +1,479 @@ + + + + + +MapMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MapMessage<K,​V>

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class MapMessage<K,​V>
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MapMessage

          +
          public MapMessage()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          toBytes

          +
          public static <K,​V> byte[] toBytes​(MapMessage<K,​V> message)
          +                                  throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          fromBytes

          +
          public static <K,​V> MapMessage<K,​V> fromBytes​(byte[] rep)
          +                                                   throws java.io.IOException,
          +                                                          java.lang.ClassNotFoundException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        + + + + + + + +
          +
        • +

          getKey

          +
          public K getKey()
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public V getValue()
          +
        • +
        + + + +
          +
        • +

          setKey

          +
          public void setKey​(java.lang.Object key)
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue​(java.lang.Object value)
          +
        • +
        + + + +
          +
        • +

          setKeySet

          +
          public void setKeySet​(java.lang.Object keySet)
          +
        • +
        + + + +
          +
        • +

          setSize

          +
          public void setSize​(int size)
          +
        • +
        + + + + + + + +
          +
        • +

          getKeySet

          +
          public java.util.Set<K> getKeySet()
          +
        • +
        + + + +
          +
        • +

          getSize

          +
          public int getSize()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/map/MapRequestType.html b/docs/javadoc/bftsmart/demo/map/MapRequestType.html new file mode 100644 index 000000000..440d833b8 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/MapRequestType.html @@ -0,0 +1,416 @@ + + + + + +MapRequestType (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum MapRequestType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable, java.lang.Comparable<MapRequestType>
      +
      +
      +
      public enum MapRequestType
      +extends java.lang.Enum<MapRequestType>
      +
      Types of operation for BFT Map implementation
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Enum Constants 
        Enum ConstantDescription
        GET 
        KEYSET 
        PUT 
        REMOVE 
        SIZE 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static MapRequestTypevalueOf​(java.lang.String name) +
        Returns the enum constant of this type with the specified name.
        +
        static MapRequestType[]values() +
        Returns an array containing the constants of this enum type, in +the order they are declared.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Enum

          +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static MapRequestType[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (MapRequestType c : MapRequestType.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static MapRequestType valueOf​(java.lang.String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
          +
          java.lang.NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/map/MapServer.html b/docs/javadoc/bftsmart/demo/map/MapServer.html new file mode 100644 index 000000000..70018c581 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/MapServer.html @@ -0,0 +1,457 @@ + + + + + +MapServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MapServer<K,​V>

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MapServer

          +
          public MapServer​(int id)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + +
          +
        • +

          appExecuteOrdered

          +
          public byte[] appExecuteOrdered​(byte[] command,
          +                                MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteOrdered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The ordered request
          +
          msgCtx - The context associated to each request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] command,
          +                                  MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The unordered request
          +
          msgCtx - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + + + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultSingleRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/map/package-summary.html b/docs/javadoc/bftsmart/demo/map/package-summary.html new file mode 100644 index 000000000..0902d9192 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/package-summary.html @@ -0,0 +1,193 @@ + + + + + +bftsmart.demo.map (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.demo.map

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/map/package-tree.html b/docs/javadoc/bftsmart/demo/map/package-tree.html new file mode 100644 index 000000000..cc966cffe --- /dev/null +++ b/docs/javadoc/bftsmart/demo/map/package-tree.html @@ -0,0 +1,182 @@ + + + + + +bftsmart.demo.map Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.demo.map

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Enum Hierarchy

    +
      +
    • java.lang.Object +
        +
      • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
      • +
      +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/microbenchmarks/AsyncLatencyClient.html b/docs/javadoc/bftsmart/demo/microbenchmarks/AsyncLatencyClient.html new file mode 100644 index 000000000..a22f429b7 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/microbenchmarks/AsyncLatencyClient.html @@ -0,0 +1,309 @@ + + + + + +AsyncLatencyClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AsyncLatencyClient

    +
    +
    + +
    +
      +
    • +
      +
      public class AsyncLatencyClient
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        AsyncLatencyClient() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AsyncLatencyClient

          +
          public AsyncLatencyClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyClient.html b/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyClient.html new file mode 100644 index 000000000..4f8b6aaa4 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyClient.html @@ -0,0 +1,380 @@ + + + + + +ThroughputLatencyClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ThroughputLatencyClient

    +
    +
    + +
    +
      +
    • +
      +
      public class ThroughputLatencyClient
      +extends java.lang.Object
      +
      Example client that updates a BFT replicated service (a counter).
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static intinitId 
        static java.lang.StringprivKey 
        static java.lang.StringpubKey 
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          initId

          +
          public static int initId
          +
        • +
        + + + +
          +
        • +

          privKey

          +
          public static java.lang.String privKey
          +
        • +
        + + + +
          +
        • +

          pubKey

          +
          public static java.lang.String pubKey
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ThroughputLatencyClient

          +
          public ThroughputLatencyClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyServer.html b/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyServer.html new file mode 100644 index 000000000..a83e86003 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/microbenchmarks/ThroughputLatencyServer.html @@ -0,0 +1,472 @@ + + + + + +ThroughputLatencyServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ThroughputLatencyServer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ThroughputLatencyServer

          +
          public ThroughputLatencyServer​(int id,
          +                               int interval,
          +                               int replySize,
          +                               int stateSize,
          +                               boolean context,
          +                               int signed,
          +                               int write)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          appExecuteBatch

          +
          public byte[][] appExecuteBatch​(byte[][] commands,
          +                                MessageContext[] msgCtxs,
          +                                boolean fromConsensus)
          +
          Description copied from class: DefaultRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteBatch in class DefaultRecoverable
          +
          Parameters:
          +
          commands - The batch of requests
          +
          msgCtxs - The context associated to each request
          +
          fromConsensus - true if the request arrived from a consensus execution, false if it arrives from the state transfer protocol
          +
          Returns:
          +
          the respective replies for each request
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] command,
          +                                  MessageContext msgCtx)
          +
          Description copied from class: DefaultRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultRecoverable
          +
          Parameters:
          +
          command - The unordered request
          +
          msgCtx - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          execute

          +
          public byte[] execute​(byte[] command,
          +                      MessageContext msgCtx)
          +
        • +
        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        + + + +
          +
        • +

          getSnapshot

          +
          public byte[] getSnapshot()
          +
          Description copied from class: DefaultRecoverable
          +
          Returns a serialized snapshot of the application state
          +
          +
          Specified by:
          +
          getSnapshot in class DefaultRecoverable
          +
          Returns:
          +
          A serialized snapshot of the application state
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/microbenchmarks/package-summary.html b/docs/javadoc/bftsmart/demo/microbenchmarks/package-summary.html new file mode 100644 index 000000000..f166b4eee --- /dev/null +++ b/docs/javadoc/bftsmart/demo/microbenchmarks/package-summary.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.demo.microbenchmarks (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.demo.microbenchmarks

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/microbenchmarks/package-tree.html b/docs/javadoc/bftsmart/demo/microbenchmarks/package-tree.html new file mode 100644 index 000000000..8d5bca528 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/microbenchmarks/package-tree.html @@ -0,0 +1,167 @@ + + + + + +bftsmart.demo.microbenchmarks Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.demo.microbenchmarks

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBClient.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBClient.html new file mode 100644 index 000000000..25e7ffe1e --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBClient.html @@ -0,0 +1,434 @@ + + + + + +YCSBClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class YCSBClient

    +
    +
    + +
    +
      +
    • +
      +
      public class YCSBClient
      +extends com.yahoo.ycsb.DB
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        YCSBClient() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intdelete​(java.lang.String arg0, + java.lang.String arg1) 
        voidinit() 
        intinsert​(java.lang.String table, + java.lang.String key, + java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values) 
        intread​(java.lang.String table, + java.lang.String key, + java.util.Set<java.lang.String> fields, + java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> result) 
        intscan​(java.lang.String arg0, + java.lang.String arg1, + int arg2, + java.util.Set<java.lang.String> arg3, + java.util.Vector<java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator>> arg4) 
        intupdate​(java.lang.String table, + java.lang.String key, + java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values) 
        +
          +
        • + + +

          Methods inherited from class com.yahoo.ycsb.DB

          +cleanup, getProperties, setProperties
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          YCSBClient

          +
          public YCSBClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          init

          +
          public void init()
          +
          +
          Overrides:
          +
          init in class com.yahoo.ycsb.DB
          +
          +
        • +
        + + + +
          +
        • +

          delete

          +
          public int delete​(java.lang.String arg0,
          +                  java.lang.String arg1)
          +
          +
          Specified by:
          +
          delete in class com.yahoo.ycsb.DB
          +
          +
        • +
        + + + +
          +
        • +

          insert

          +
          public int insert​(java.lang.String table,
          +                  java.lang.String key,
          +                  java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
          +
          +
          Specified by:
          +
          insert in class com.yahoo.ycsb.DB
          +
          +
        • +
        + + + +
          +
        • +

          read

          +
          public int read​(java.lang.String table,
          +                java.lang.String key,
          +                java.util.Set<java.lang.String> fields,
          +                java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> result)
          +
          +
          Specified by:
          +
          read in class com.yahoo.ycsb.DB
          +
          +
        • +
        + + + +
          +
        • +

          scan

          +
          public int scan​(java.lang.String arg0,
          +                java.lang.String arg1,
          +                int arg2,
          +                java.util.Set<java.lang.String> arg3,
          +                java.util.Vector<java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator>> arg4)
          +
          +
          Specified by:
          +
          scan in class com.yahoo.ycsb.DB
          +
          +
        • +
        + + + +
          +
        • +

          update

          +
          public int update​(java.lang.String table,
          +                  java.lang.String key,
          +                  java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
          +
          +
          Specified by:
          +
          update in class com.yahoo.ycsb.DB
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Entity.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Entity.html new file mode 100644 index 000000000..167142047 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Entity.html @@ -0,0 +1,393 @@ + + + + + +YCSBMessage.Entity (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum YCSBMessage.Entity

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Summary

        + + + + + + + + + + + + + + + + + + +
        Enum Constants 
        Enum ConstantDescription
        FIELD 
        RECORD 
        TABLE 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static YCSBMessage.EntityvalueOf​(java.lang.String name) +
        Returns the enum constant of this type with the specified name.
        +
        static YCSBMessage.Entity[]values() +
        Returns an array containing the constants of this enum type, in +the order they are declared.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Enum

          +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static YCSBMessage.Entity[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (YCSBMessage.Entity c : YCSBMessage.Entity.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static YCSBMessage.Entity valueOf​(java.lang.String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
          +
          java.lang.NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Type.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Type.html new file mode 100644 index 000000000..d2a9c79f7 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.Type.html @@ -0,0 +1,445 @@ + + + + + +YCSBMessage.Type (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum YCSBMessage.Type

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable, java.lang.Comparable<YCSBMessage.Type>
      +
      +
      +
      Enclosing class:
      +
      YCSBMessage
      +
      +
      +
      public static enum YCSBMessage.Type
      +extends java.lang.Enum<YCSBMessage.Type>
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static YCSBMessage.TypevalueOf​(java.lang.String name) +
        Returns the enum constant of this type with the specified name.
        +
        static YCSBMessage.Type[]values() +
        Returns an array containing the constants of this enum type, in +the order they are declared.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Enum

          +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static YCSBMessage.Type[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (YCSBMessage.Type c : YCSBMessage.Type.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static YCSBMessage.Type valueOf​(java.lang.String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
          +
          java.lang.NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.html new file mode 100644 index 000000000..4f391bbbe --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBMessage.html @@ -0,0 +1,573 @@ + + + + + +YCSBMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class YCSBMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class YCSBMessage
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          newInsertRequest

          +
          public static YCSBMessage newInsertRequest​(java.lang.String table,
          +                                           java.lang.String key,
          +                                           java.util.HashMap<java.lang.String,​byte[]> values)
          +
        • +
        + + + +
          +
        • +

          newUpdateRequest

          +
          public static YCSBMessage newUpdateRequest​(java.lang.String table,
          +                                           java.lang.String key,
          +                                           java.util.HashMap<java.lang.String,​byte[]> values)
          +
        • +
        + + + +
          +
        • +

          newReadRequest

          +
          public static YCSBMessage newReadRequest​(java.lang.String table,
          +                                         java.lang.String key,
          +                                         java.util.Set<java.lang.String> fields,
          +                                         java.util.HashMap<java.lang.String,​byte[]> results)
          +
        • +
        + + + +
          +
        • +

          newInsertResponse

          +
          public static YCSBMessage newInsertResponse​(int result)
          +
        • +
        + + + +
          +
        • +

          newUpdateResponse

          +
          public static YCSBMessage newUpdateResponse​(int result)
          +
        • +
        + + + +
          +
        • +

          newReadResponse

          +
          public static YCSBMessage newReadResponse​(java.util.HashMap<java.lang.String,​byte[]> results,
          +                                          int result)
          +
        • +
        + + + +
          +
        • +

          newErrorMessage

          +
          public static YCSBMessage newErrorMessage​(java.lang.String errorMsg)
          +
        • +
        + + + +
          +
        • +

          getBytes

          +
          public byte[] getBytes()
          +
        • +
        + + + +
          +
        • +

          getObject

          +
          public static YCSBMessage getObject​(byte[] theBytes)
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          getResult

          +
          public int getResult()
          +
        • +
        + + + +
          +
        • +

          getResults

          +
          public java.util.HashMap<java.lang.String,​byte[]> getResults()
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getTable

          +
          public java.lang.String getTable()
          +
        • +
        + + + +
          +
        • +

          getKey

          +
          public java.lang.String getKey()
          +
        • +
        + + + +
          +
        • +

          getFields

          +
          public java.util.Set<java.lang.String> getFields()
          +
        • +
        + + + +
          +
        • +

          getValues

          +
          public java.util.HashMap<java.lang.String,​byte[]> getValues()
          +
        • +
        + + + +
          +
        • +

          getErrorMsg

          +
          public java.lang.String getErrorMsg()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBServer.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBServer.html new file mode 100644 index 000000000..f6f976f6b --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBServer.html @@ -0,0 +1,408 @@ + + + + + +YCSBServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class YCSBServer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.Exception
          +
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteBatch

          +
          public byte[][] appExecuteBatch​(byte[][] commands,
          +                                MessageContext[] msgCtx,
          +                                boolean fromConsensus)
          +
          Description copied from class: DefaultRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteBatch in class DefaultRecoverable
          +
          Parameters:
          +
          commands - The batch of requests
          +
          msgCtx - The context associated to each request
          +
          fromConsensus - true if the request arrived from a consensus execution, false if it arrives from the state transfer protocol
          +
          Returns:
          +
          the respective replies for each request
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] theCommand,
          +                                  MessageContext theContext)
          +
          Description copied from class: DefaultRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultRecoverable
          +
          Parameters:
          +
          theCommand - The unordered request
          +
          theContext - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        + + + +
          +
        • +

          getSnapshot

          +
          public byte[] getSnapshot()
          +
          Description copied from class: DefaultRecoverable
          +
          Returns a serialized snapshot of the application state
          +
          +
          Specified by:
          +
          getSnapshot in class DefaultRecoverable
          +
          Returns:
          +
          A serialized snapshot of the application state
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/YCSBTable.html b/docs/javadoc/bftsmart/demo/ycsb/YCSBTable.html new file mode 100644 index 000000000..c248f476c --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/YCSBTable.html @@ -0,0 +1,323 @@ + + + + + +YCSBTable (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class YCSBTable

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.util.HashMap<java.lang.String,​byte[]>>, java.util.NavigableMap<java.lang.String,​java.util.HashMap<java.lang.String,​byte[]>>, java.util.SortedMap<java.lang.String,​java.util.HashMap<java.lang.String,​byte[]>>
      +
      +
      +
      public class YCSBTable
      +extends java.util.TreeMap<java.lang.String,​java.util.HashMap<java.lang.String,​byte[]>>
      +implements java.io.Serializable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.util.AbstractMap

          +java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        YCSBTable() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        +
          +
        • + + +

          Methods inherited from class java.util.TreeMap

          +ceilingEntry, ceilingKey, clear, clone, comparator, containsKey, containsValue, descendingKeySet, descendingMap, entrySet, firstEntry, firstKey, floorEntry, floorKey, forEach, get, headMap, headMap, higherEntry, higherKey, keySet, lastEntry, lastKey, lowerEntry, lowerKey, navigableKeySet, pollFirstEntry, pollLastEntry, put, putAll, remove, replace, replace, replaceAll, size, subMap, subMap, tailMap, tailMap, values
        • +
        +
          +
        • + + +

          Methods inherited from class java.util.AbstractMap

          +equals, hashCode, isEmpty, toString
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +finalize, getClass, notify, notifyAll, wait, wait, wait
        • +
        +
          +
        • + + +

          Methods inherited from interface java.util.Map

          +compute, computeIfAbsent, computeIfPresent, equals, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          YCSBTable

          +
          public YCSBTable()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/package-summary.html b/docs/javadoc/bftsmart/demo/ycsb/package-summary.html new file mode 100644 index 000000000..d7be25e4e --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/package-summary.html @@ -0,0 +1,195 @@ + + + + + +bftsmart.demo.ycsb (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.demo.ycsb

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/demo/ycsb/package-tree.html b/docs/javadoc/bftsmart/demo/ycsb/package-tree.html new file mode 100644 index 000000000..aa8d207f6 --- /dev/null +++ b/docs/javadoc/bftsmart/demo/ycsb/package-tree.html @@ -0,0 +1,195 @@ + + + + + +bftsmart.demo.ycsb Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.demo.ycsb

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • java.util.AbstractMap<K,​V> (implements java.util.Map<K,​V>) +
          +
        • java.util.TreeMap<K,​V> (implements java.lang.Cloneable, java.util.NavigableMap<K,​V>, java.io.Serializable) +
            +
          • bftsmart.demo.ycsb.YCSBTable (implements java.io.Serializable)
          • +
          +
        • +
        +
      • +
      • com.yahoo.ycsb.DB + +
      • +
      • bftsmart.tom.server.defaultservices.DefaultRecoverable (implements bftsmart.tom.server.BatchExecutable, bftsmart.tom.server.Recoverable) + +
      • +
      • bftsmart.demo.ycsb.YCSBMessage (implements java.io.Serializable)
      • +
      +
    • +
    +
    +
    +

    Enum Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ClientViewController.html b/docs/javadoc/bftsmart/reconfiguration/ClientViewController.html new file mode 100644 index 000000000..86e2e2ed3 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ClientViewController.html @@ -0,0 +1,366 @@ + + + + + +ClientViewController (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ClientViewController

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ClientViewController

          +
          public ClientViewController​(int procId,
          +                            KeyLoader loader)
          +
        • +
        + + + +
          +
        • +

          ClientViewController

          +
          public ClientViewController​(int procId,
          +                            java.lang.String configHome,
          +                            KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          updateCurrentViewFromRepository

          +
          public void updateCurrentViewFromRepository()
          +
        • +
        + + + +
          +
        • +

          getReplyQuorum

          +
          public int getReplyQuorum()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/Reconfiguration.html b/docs/javadoc/bftsmart/reconfiguration/Reconfiguration.html new file mode 100644 index 000000000..6cb2c6991 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/Reconfiguration.html @@ -0,0 +1,400 @@ + + + + + +Reconfiguration (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Reconfiguration

    +
    +
    + +
    +
      +
    • +
      +
      public class Reconfiguration
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Reconfiguration​(int id, + java.lang.String configDir, + KeyLoader loader) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddServer​(int id, + java.lang.String ip, + int port, + int portRR) 
        voidclose() 
        voidconnect() 
        ReconfigureReplyexecute() 
        voidremoveServer​(int id) 
        voidsetF​(int f) 
        voidsetReconfiguration​(int prop, + java.lang.String value) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Reconfiguration

          +
          public Reconfiguration​(int id,
          +                       java.lang.String configDir,
          +                       KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          connect

          +
          public void connect()
          +
        • +
        + + + +
          +
        • +

          addServer

          +
          public void addServer​(int id,
          +                      java.lang.String ip,
          +                      int port,
          +                      int portRR)
          +
        • +
        + + + +
          +
        • +

          removeServer

          +
          public void removeServer​(int id)
          +
        • +
        + + + +
          +
        • +

          setF

          +
          public void setF​(int f)
          +
        • +
        + + + +
          +
        • +

          setReconfiguration

          +
          public void setReconfiguration​(int prop,
          +                               java.lang.String value)
          +
        • +
        + + + + + + + +
          +
        • +

          close

          +
          public void close()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ReconfigurationTest.html b/docs/javadoc/bftsmart/reconfiguration/ReconfigurationTest.html new file mode 100644 index 000000000..e29a62b27 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ReconfigurationTest.html @@ -0,0 +1,318 @@ + + + + + +ReconfigurationTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ReconfigurationTest

    +
    +
    + +
    +
      +
    • +
      +
      public class ReconfigurationTest
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        voidrun​(int id) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ReconfigurationTest

          +
          public ReconfigurationTest()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          run

          +
          public void run​(int id)
          +
        • +
        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ReconfigureReply.html b/docs/javadoc/bftsmart/reconfiguration/ReconfigureReply.html new file mode 100644 index 000000000..695151641 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ReconfigureReply.html @@ -0,0 +1,418 @@ + + + + + +ReconfigureReply (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ReconfigureReply

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class ReconfigureReply
      +extends java.lang.Object
      +implements java.io.Externalizable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ReconfigureReply

          +
          public ReconfigureReply()
          +
        • +
        + + + +
          +
        • +

          ReconfigureReply

          +
          public ReconfigureReply​(View newView,
          +                        java.lang.String[] joinSet,
          +                        int lastExectConsensus,
          +                        int leader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getView

          +
          public View getView()
          +
        • +
        + + + +
          +
        • +

          getJoinSet

          +
          public java.lang.String[] getJoinSet()
          +
        • +
        + + + +
          +
        • +

          getExecLeader

          +
          public int getExecLeader()
          +
        • +
        + + + +
          +
        • +

          getLastExecConsId

          +
          public int getLastExecConsId()
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ReconfigureRequest.html b/docs/javadoc/bftsmart/reconfiguration/ReconfigureRequest.html new file mode 100644 index 000000000..86baf29eb --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ReconfigureRequest.html @@ -0,0 +1,446 @@ + + + + + +ReconfigureRequest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ReconfigureRequest

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class ReconfigureRequest
      +extends java.lang.Object
      +implements java.io.Externalizable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        java.util.Hashtable<java.lang.Integer,​java.lang.String>getProperties() 
        intgetSender() 
        byte[]getSignature() 
        voidreadExternal​(java.io.ObjectInput in) 
        voidsetProperty​(int prop, + java.lang.String value) 
        voidsetSignature​(byte[] signature) 
        java.lang.StringtoString() 
        voidwriteExternal​(java.io.ObjectOutput out) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ReconfigureRequest

          +
          public ReconfigureRequest()
          +
        • +
        + + + +
          +
        • +

          ReconfigureRequest

          +
          public ReconfigureRequest​(int sender)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setSignature

          +
          public void setSignature​(byte[] signature)
          +
        • +
        + + + +
          +
        • +

          getSignature

          +
          public byte[] getSignature()
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public java.util.Hashtable<java.lang.Integer,​java.lang.String> getProperties()
          +
        • +
        + + + +
          +
        • +

          getSender

          +
          public int getSender()
          +
        • +
        + + + +
          +
        • +

          setProperty

          +
          public void setProperty​(int prop,
          +                        java.lang.String value)
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ServerViewController.html b/docs/javadoc/bftsmart/reconfiguration/ServerViewController.html new file mode 100644 index 000000000..13c5783f7 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ServerViewController.html @@ -0,0 +1,612 @@ + + + + + +ServerViewController (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ServerViewController

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ServerViewController

          +
          public ServerViewController​(int procId,
          +                            KeyLoader loader)
          +
        • +
        + + + +
          +
        • +

          ServerViewController

          +
          public ServerViewController​(int procId,
          +                            java.lang.String configHome,
          +                            KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setTomLayer

          +
          public void setTomLayer​(TOMLayer tomLayer)
          +
        • +
        + + + +
          +
        • +

          isInCurrentView

          +
          public boolean isInCurrentView()
          +
        • +
        + + + +
          +
        • +

          getCurrentViewOtherAcceptors

          +
          public int[] getCurrentViewOtherAcceptors()
          +
        • +
        + + + +
          +
        • +

          getReplicasWithout

          +
          public int[] getReplicasWithout​(int[] replicas,
          +                                int without)
          +
        • +
        + + + +
          +
        • +

          getCurrentViewAcceptors

          +
          public int[] getCurrentViewAcceptors()
          +
        • +
        + + + +
          +
        • +

          hasUpdates

          +
          public boolean hasUpdates()
          +
        • +
        + + + +
          +
        • +

          enqueueUpdate

          +
          public void enqueueUpdate​(TOMMessage up)
          +
        • +
        + + + +
          +
        • +

          executeUpdates

          +
          public byte[] executeUpdates​(int cid)
          +
        • +
        + + + +
          +
        • +

          clearUpdates

          +
          public TOMMessage[] clearUpdates()
          +
        • +
        + + + +
          +
        • +

          isInLastJoinSet

          +
          public boolean isInLastJoinSet​(int id)
          +
        • +
        + + + +
          +
        • +

          processJoinResult

          +
          public void processJoinResult​(ReconfigureReply r)
          +
        • +
        + + + + + + + +
          +
        • +

          getQuorum

          +
          public int getQuorum()
          +
        • +
        + + + +
          +
        • +

          getTOMLayer

          +
          public TOMLayer getTOMLayer()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/VMMessage.html b/docs/javadoc/bftsmart/reconfiguration/VMMessage.html new file mode 100644 index 000000000..2463b5adb --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/VMMessage.html @@ -0,0 +1,417 @@ + + + + + +VMMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VMMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class VMMessage
      +extends SystemMessage
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/bftsmart/reconfiguration/VMServices.html b/docs/javadoc/bftsmart/reconfiguration/VMServices.html similarity index 62% rename from doc/bftsmart/reconfiguration/VMServices.html rename to docs/javadoc/bftsmart/reconfiguration/VMServices.html index 083740291..7d38769b3 100644 --- a/doc/bftsmart/reconfiguration/VMServices.html +++ b/docs/javadoc/bftsmart/reconfiguration/VMServices.html @@ -1,43 +1,57 @@ - + - + - -VMServices - + +VMServices (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    bftsmart.reconfiguration
    +

    Class VMServices

    @@ -106,8 +130,11 @@

    Class VMServices

    • +
      +
      Direct Known Subclasses:
      +
      DefaultVMServices
      +

      -
      public class VMServices
       extends java.lang.Object
      This class is used by the trusted client to add and remove replicas from the group
      @@ -118,59 +145,69 @@

      Class VMServices

      • +
        +
        +
          -
        • +
        • Method Summary

          - +
          - + + - + - +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethod and DescriptionMethodDescription
          voidaddServer(int id, +addServer​(int id, java.lang.String ipAddress, - int port) + int port, + int portRR)
          Adds a new server to the group
          voidremoveServer(int id) +removeServer​(int id)
          Removes a server from the group
            -
          • +
          • Methods inherited from class java.lang.Object

            @@ -178,6 +215,7 @@

            Methods inherited from class java.lang.Object

        +
    @@ -185,12 +223,13 @@

    Methods inherited from class java.lang.Object

    +
    + diff --git a/docs/javadoc/bftsmart/reconfiguration/View.html b/docs/javadoc/bftsmart/reconfiguration/View.html new file mode 100644 index 000000000..e739f4f33 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/View.html @@ -0,0 +1,421 @@ + + + + + +View (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class View

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class View
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        View​(int id, + int[] processes, + int f, + java.net.InetSocketAddress[] addresses) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        java.net.InetSocketAddressgetAddress​(int id) 
        intgetF() 
        intgetId() 
        intgetN() 
        intgetPos​(int id) 
        int[]getProcesses() 
        booleanisMember​(int id) 
        java.lang.StringtoString() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          View

          +
          public View​(int id,
          +            int[] processes,
          +            int f,
          +            java.net.InetSocketAddress[] addresses)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isMember

          +
          public boolean isMember​(int id)
          +
        • +
        + + + +
          +
        • +

          getPos

          +
          public int getPos​(int id)
          +
        • +
        + + + +
          +
        • +

          getId

          +
          public int getId()
          +
        • +
        + + + +
          +
        • +

          getF

          +
          public int getF()
          +
        • +
        + + + +
          +
        • +

          getN

          +
          public int getN()
          +
        • +
        + + + +
          +
        • +

          getProcesses

          +
          public int[] getProcesses()
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          getAddress

          +
          public java.net.InetSocketAddress getAddress​(int id)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ViewController.html b/docs/javadoc/bftsmart/reconfiguration/ViewController.html new file mode 100644 index 000000000..4ac90ffa3 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ViewController.html @@ -0,0 +1,537 @@ + + + + + +ViewController (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ViewController

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          lastView

          +
          protected View lastView
          +
        • +
        + + + +
          +
        • +

          currentView

          +
          protected View currentView
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ViewController

          +
          public ViewController​(int procId,
          +                      KeyLoader loader)
          +
        • +
        + + + +
          +
        • +

          ViewController

          +
          public ViewController​(int procId,
          +                      java.lang.String configHome,
          +                      KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getViewStore

          +
          public final ViewStorage getViewStore()
          +
        • +
        + + + +
          +
        • +

          getCurrentView

          +
          public View getCurrentView()
          +
        • +
        + + + +
          +
        • +

          getLastView

          +
          public View getLastView()
          +
        • +
        + + + +
          +
        • +

          getRemoteAddress

          +
          public java.net.SocketAddress getRemoteAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          reconfigureTo

          +
          public void reconfigureTo​(View newView)
          +
        • +
        + + + + + + + +
          +
        • +

          isCurrentViewMember

          +
          public boolean isCurrentViewMember​(int id)
          +
        • +
        + + + +
          +
        • +

          getCurrentViewId

          +
          public int getCurrentViewId()
          +
        • +
        + + + +
          +
        • +

          getCurrentViewF

          +
          public int getCurrentViewF()
          +
        • +
        + + + +
          +
        • +

          getCurrentViewN

          +
          public int getCurrentViewN()
          +
        • +
        + + + +
          +
        • +

          getCurrentViewPos

          +
          public int getCurrentViewPos​(int id)
          +
        • +
        + + + +
          +
        • +

          getCurrentViewProcesses

          +
          public int[] getCurrentViewProcesses()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/ViewManager.html b/docs/javadoc/bftsmart/reconfiguration/ViewManager.html new file mode 100644 index 000000000..ad0503df2 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/ViewManager.html @@ -0,0 +1,411 @@ + + + + + +ViewManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ViewManager

    +
    +
    + +
    +
      +
    • +
      +
      public class ViewManager
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddServer​(int id, + java.lang.String ip, + int port, + int portRR) 
        voidclose() 
        voidconnect() 
        voidexecuteUpdates() 
        voidremoveServer​(int id) 
        voidsendResponse​(java.lang.Integer[] targets, + VMMessage sm) 
        voidsetF​(int f) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ViewManager

          +
          public ViewManager​(KeyLoader loader)
          +
        • +
        + + + +
          +
        • +

          ViewManager

          +
          public ViewManager​(java.lang.String configHome,
          +                   KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          connect

          +
          public void connect()
          +
        • +
        + + + +
          +
        • +

          addServer

          +
          public void addServer​(int id,
          +                      java.lang.String ip,
          +                      int port,
          +                      int portRR)
          +
        • +
        + + + +
          +
        • +

          removeServer

          +
          public void removeServer​(int id)
          +
        • +
        + + + +
          +
        • +

          setF

          +
          public void setF​(int f)
          +
        • +
        + + + +
          +
        • +

          executeUpdates

          +
          public void executeUpdates()
          +
        • +
        + + + +
          +
        • +

          sendResponse

          +
          public void sendResponse​(java.lang.Integer[] targets,
          +                         VMMessage sm)
          +
        • +
        + + + +
          +
        • +

          close

          +
          public void close()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/package-summary.html b/docs/javadoc/bftsmart/reconfiguration/package-summary.html new file mode 100644 index 000000000..1df8391e3 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/package-summary.html @@ -0,0 +1,206 @@ + + + + + +bftsmart.reconfiguration (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.reconfiguration

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/package-tree.html b/docs/javadoc/bftsmart/reconfiguration/package-tree.html new file mode 100644 index 000000000..628e7ba5a --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/package-tree.html @@ -0,0 +1,178 @@ + + + + + +bftsmart.reconfiguration Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.reconfiguration

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/Configuration.html b/docs/javadoc/bftsmart/reconfiguration/util/Configuration.html new file mode 100644 index 000000000..958450027 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/Configuration.html @@ -0,0 +1,1075 @@ + + + + + +Configuration (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Configuration

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      TOMConfiguration
      +
      +
      +
      public class Configuration
      +extends java.lang.Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          processId

          +
          protected int processId
          +
        • +
        + + + +
          +
        • +

          channelsBlocking

          +
          protected boolean channelsBlocking
          +
        • +
        + + + +
          +
        • +

          autoConnectLimit

          +
          protected int autoConnectLimit
          +
        • +
        + + + +
          +
        • +

          configs

          +
          protected java.util.Map<java.lang.String,​java.lang.String> configs
          +
        • +
        + + + + + + + +
          +
        • +

          keyLoader

          +
          protected KeyLoader keyLoader
          +
        • +
        + + + +
          +
        • +

          DEFAULT_SECRETKEY

          +
          public static final java.lang.String DEFAULT_SECRETKEY
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_SECRETKEY_PROVIDER

          +
          public static final java.lang.String DEFAULT_SECRETKEY_PROVIDER
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_SIGNATURE

          +
          public static final java.lang.String DEFAULT_SIGNATURE
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_SIGNATURE_PROVIDER

          +
          public static final java.lang.String DEFAULT_SIGNATURE_PROVIDER
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_KEYLOADER

          +
          public static final java.lang.String DEFAULT_KEYLOADER
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_HASH

          +
          public static final java.lang.String DEFAULT_HASH
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_HASH_PROVIDER

          +
          public static final java.lang.String DEFAULT_HASH_PROVIDER
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          secretKeyAlgorithm

          +
          protected java.lang.String secretKeyAlgorithm
          +
        • +
        + + + +
          +
        • +

          secretKeyAlgorithmProvider

          +
          protected java.lang.String secretKeyAlgorithmProvider
          +
        • +
        + + + +
          +
        • +

          signatureAlgorithm

          +
          protected java.lang.String signatureAlgorithm
          +
        • +
        + + + +
          +
        • +

          signatureAlgorithmProvider

          +
          protected java.lang.String signatureAlgorithmProvider
          +
        • +
        + + + +
          +
        • +

          hashAlgorithm

          +
          protected java.lang.String hashAlgorithm
          +
        • +
        + + + +
          +
        • +

          hashAlgorithmProvider

          +
          protected java.lang.String hashAlgorithmProvider
          +
        • +
        + + + +
          +
        • +

          configHome

          +
          protected java.lang.String configHome
          +
        • +
        + + + +
          +
        • +

          hostsFileName

          +
          protected static java.lang.String hostsFileName
          +
        • +
        + + + +
          +
        • +

          defaultKeys

          +
          protected boolean defaultKeys
          +
        • +
        + + + +
          +
        • +

          useReadOnlyRequests

          +
          protected boolean useReadOnlyRequests
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Configuration

          +
          public Configuration​(int procId,
          +                     KeyLoader loader)
          +
        • +
        + + + +
          +
        • +

          Configuration

          +
          public Configuration​(int procId,
          +                     java.lang.String configHomeParam,
          +                     KeyLoader loader)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          init

          +
          protected void init()
          +
        • +
        + + + +
          +
        • +

          getConfigHome

          +
          public java.lang.String getConfigHome()
          +
        • +
        + + + +
          +
        • +

          useDefaultKeys

          +
          public boolean useDefaultKeys()
          +
        • +
        + + + +
          +
        • +

          isHostSetted

          +
          public final boolean isHostSetted​(int id)
          +
        • +
        + + + +
          +
        • +

          useBlockingChannels

          +
          public final boolean useBlockingChannels()
          +
        • +
        + + + +
          +
        • +

          useReadOnlyRequests

          +
          public final boolean useReadOnlyRequests()
          +
        • +
        + + + +
          +
        • +

          getAutoConnectLimit

          +
          public final int getAutoConnectLimit()
          +
        • +
        + + + +
          +
        • +

          getSecretKeyAlgorithm

          +
          public final java.lang.String getSecretKeyAlgorithm()
          +
        • +
        + + + +
          +
        • +

          getSignatureAlgorithm

          +
          public final java.lang.String getSignatureAlgorithm()
          +
        • +
        + + + +
          +
        • +

          getHashAlgorithm

          +
          public final java.lang.String getHashAlgorithm()
          +
        • +
        + + + +
          +
        • +

          getSecretKeyAlgorithmProvider

          +
          public final java.lang.String getSecretKeyAlgorithmProvider()
          +
        • +
        + + + +
          +
        • +

          getSignatureAlgorithmProvider

          +
          public final java.lang.String getSignatureAlgorithmProvider()
          +
        • +
        + + + +
          +
        • +

          getHashAlgorithmProvider

          +
          public final java.lang.String getHashAlgorithmProvider()
          +
        • +
        + + + +
          +
        • +

          getProperty

          +
          public final java.lang.String getProperty​(java.lang.String key)
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final java.util.Map<java.lang.String,​java.lang.String> getProperties()
          +
        • +
        + + + +
          +
        • +

          getRemoteAddress

          +
          public final java.net.InetSocketAddress getRemoteAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          getServerToServerRemoteAddress

          +
          public final java.net.InetSocketAddress getServerToServerRemoteAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          getLocalAddress

          +
          public final java.net.InetSocketAddress getLocalAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          getHost

          +
          public final java.lang.String getHost​(int id)
          +
        • +
        + + + +
          +
        • +

          getPort

          +
          public final int getPort​(int id)
          +
        • +
        + + + +
          +
        • +

          getServerToServerPort

          +
          public final int getServerToServerPort​(int id)
          +
        • +
        + + + +
          +
        • +

          getProcessId

          +
          public final int getProcessId()
          +
        • +
        + + + +
          +
        • +

          setProcessId

          +
          public final void setProcessId​(int processId)
          +
        • +
        + + + +
          +
        • +

          addHostInfo

          +
          public final void addHostInfo​(int id,
          +                              java.lang.String host,
          +                              int port,
          +                              int portRR)
          +
        • +
        + + + +
          +
        • +

          getPublicKey

          +
          public java.security.PublicKey getPublicKey()
          +
        • +
        + + + +
          +
        • +

          getPublicKey

          +
          public java.security.PublicKey getPublicKey​(int id)
          +
        • +
        + + + +
          +
        • +

          getPrivateKey

          +
          public java.security.PrivateKey getPrivateKey()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/DefaultVMServices.html b/docs/javadoc/bftsmart/reconfiguration/util/DefaultVMServices.html new file mode 100644 index 000000000..1f9947d59 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/DefaultVMServices.html @@ -0,0 +1,321 @@ + + + + + +DefaultVMServices (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DefaultVMServices

    +
    +
    + +
    +
      +
    • +
      +
      public class DefaultVMServices
      +extends VMServices
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        DefaultVMServices() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        + +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DefaultVMServices

          +
          public DefaultVMServices()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.InterruptedException
          +
          +
          Throws:
          +
          java.lang.InterruptedException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/ECDSAKeyLoader.html b/docs/javadoc/bftsmart/reconfiguration/util/ECDSAKeyLoader.html new file mode 100644 index 000000000..3b8c24bcd --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/ECDSAKeyLoader.html @@ -0,0 +1,429 @@ + + + + + +ECDSAKeyLoader (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ECDSAKeyLoader

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      KeyLoader
      +
      +
      +
      public class ECDSAKeyLoader
      +extends java.lang.Object
      +implements KeyLoader
      +
      Used to load JCA public and private keys from conf/keys/publickey and + conf/keys/privatekey
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        ECDSAKeyLoader​(int id, + java.lang.String configHome, + boolean defaultKeys, + java.lang.String sigAlgorithm) +
        Creates a new instance of ECDSAKeyLoader
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        java.lang.StringgetSignatureAlgorithm() +
        Get the signature algorithm specified by the key.
        +
        java.security.PrivateKeyloadPrivateKey() +
        Loads the private key of this process
        +
        java.security.PublicKeyloadPublicKey() +
        Fetches the public key for this replica/client.
        +
        java.security.PublicKeyloadPublicKey​(int id) +
        Loads the public key of some processes from configuration files
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ECDSAKeyLoader

          +
          public ECDSAKeyLoader​(int id,
          +                      java.lang.String configHome,
          +                      boolean defaultKeys,
          +                      java.lang.String sigAlgorithm)
          +
          Creates a new instance of ECDSAKeyLoader
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey​(int id)
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Loads the public key of some processes from configuration files
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Parameters:
          +
          id - ID of the respective replica/client.
          +
          Returns:
          +
          the PublicKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey()
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Description copied from interface: KeyLoader
          +
          Fetches the public key for this replica/client.
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Returns:
          +
          The replica/client's public key.
          +
          Throws:
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified by the key does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPrivateKey

          +
          public java.security.PrivateKey loadPrivateKey()
          +                                        throws java.io.IOException,
          +                                               java.security.NoSuchAlgorithmException,
          +                                               java.security.spec.InvalidKeySpecException
          +
          Loads the private key of this process
          +
          +
          Specified by:
          +
          loadPrivateKey in interface KeyLoader
          +
          Returns:
          +
          the PrivateKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set .
          +
          +
        • +
        + + + +
          +
        • +

          getSignatureAlgorithm

          +
          public java.lang.String getSignatureAlgorithm()
          +
          Description copied from interface: KeyLoader
          +
          Get the signature algorithm specified by the key.
          +
          +
          Specified by:
          +
          getSignatureAlgorithm in interface KeyLoader
          +
          Returns:
          +
          The signature algorithm specified by the key.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.Config.html b/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.Config.html new file mode 100644 index 000000000..e19adc845 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.Config.html @@ -0,0 +1,360 @@ + + + + + +HostsConfig.Config (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class HostsConfig.Config

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      HostsConfig
      +
      +
      +
      public class HostsConfig.Config
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        java.lang.Stringhost 
        intid 
        intport 
        intportRR 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Config​(int id, + java.lang.String host, + int port, + int portRR) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          id

          +
          public int id
          +
        • +
        + + + +
          +
        • +

          host

          +
          public java.lang.String host
          +
        • +
        + + + +
          +
        • +

          port

          +
          public int port
          +
        • +
        + + + +
          +
        • +

          portRR

          +
          public int portRR
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Config

          +
          public Config​(int id,
          +              java.lang.String host,
          +              int port,
          +              int portRR)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.html b/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.html new file mode 100644 index 000000000..97cde5bbe --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/HostsConfig.html @@ -0,0 +1,466 @@ + + + + + +HostsConfig (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class HostsConfig

    +
    +
    + +
    +
      +
    • +
      +
      public class HostsConfig
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        + + + + + + + + + + + + +
        Nested Classes 
        Modifier and TypeClassDescription
        class HostsConfig.Config 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        HostsConfig​(java.lang.String configHome, + java.lang.String fileName) +
        Creates a new instance of ServersConfig
        +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          HostsConfig

          +
          public HostsConfig​(java.lang.String configHome,
          +                   java.lang.String fileName)
          +
          Creates a new instance of ServersConfig
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          add

          +
          public void add​(int id,
          +                java.lang.String host,
          +                int port,
          +                int portRR)
          +
        • +
        + + + +
          +
        • +

          getNum

          +
          public int getNum()
          +
        • +
        + + + +
          +
        • +

          getRemoteAddress

          +
          public java.net.InetSocketAddress getRemoteAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          getServerToServerRemoteAddress

          +
          public java.net.InetSocketAddress getServerToServerRemoteAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          getPort

          +
          public int getPort​(int id)
          +
        • +
        + + + +
          +
        • +

          getServerToServerPort

          +
          public int getServerToServerPort​(int id)
          +
        • +
        + + + +
          +
        • +

          getHostsIds

          +
          public int[] getHostsIds()
          +
        • +
        + + + +
          +
        • +

          setPort

          +
          public void setPort​(int id,
          +                    int port)
          +
        • +
        + + + +
          +
        • +

          getHost

          +
          public java.lang.String getHost​(int id)
          +
        • +
        + + + +
          +
        • +

          getLocalAddress

          +
          public java.net.InetSocketAddress getLocalAddress​(int id)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/RSAKeyLoader.html b/docs/javadoc/bftsmart/reconfiguration/util/RSAKeyLoader.html new file mode 100644 index 000000000..5156933d0 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/RSAKeyLoader.html @@ -0,0 +1,429 @@ + + + + + +RSAKeyLoader (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RSAKeyLoader

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      KeyLoader
      +
      +
      +
      public class RSAKeyLoader
      +extends java.lang.Object
      +implements KeyLoader
      +
      Used to load JCA public and private keys from conf/keys/publickey and + conf/keys/privatekey
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        RSAKeyLoader​(int id, + java.lang.String configHome, + boolean defaultKeys, + java.lang.String sigAlgorithm) +
        Creates a new instance of RSAKeyLoader
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        java.lang.StringgetSignatureAlgorithm() +
        Get the signature algorithm specified by the key.
        +
        java.security.PrivateKeyloadPrivateKey() +
        Loads the private key of this process
        +
        java.security.PublicKeyloadPublicKey() +
        Fetches the public key for this replica/client.
        +
        java.security.PublicKeyloadPublicKey​(int id) +
        Loads the public key of some processes from configuration files
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RSAKeyLoader

          +
          public RSAKeyLoader​(int id,
          +                    java.lang.String configHome,
          +                    boolean defaultKeys,
          +                    java.lang.String sigAlgorithm)
          +
          Creates a new instance of RSAKeyLoader
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey​(int id)
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Loads the public key of some processes from configuration files
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Parameters:
          +
          id - ID of the respective replica/client.
          +
          Returns:
          +
          the PublicKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey()
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Description copied from interface: KeyLoader
          +
          Fetches the public key for this replica/client.
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Returns:
          +
          The replica/client's public key.
          +
          Throws:
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified by the key does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPrivateKey

          +
          public java.security.PrivateKey loadPrivateKey()
          +                                        throws java.io.IOException,
          +                                               java.security.NoSuchAlgorithmException,
          +                                               java.security.spec.InvalidKeySpecException
          +
          Loads the private key of this process
          +
          +
          Specified by:
          +
          loadPrivateKey in interface KeyLoader
          +
          Returns:
          +
          the PrivateKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set .
          +
          +
        • +
        + + + +
          +
        • +

          getSignatureAlgorithm

          +
          public java.lang.String getSignatureAlgorithm()
          +
          Description copied from interface: KeyLoader
          +
          Get the signature algorithm specified by the key.
          +
          +
          Specified by:
          +
          getSignatureAlgorithm in interface KeyLoader
          +
          Returns:
          +
          The signature algorithm specified by the key.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/SunECKeyLoader.html b/docs/javadoc/bftsmart/reconfiguration/util/SunECKeyLoader.html new file mode 100644 index 000000000..56507a5f8 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/SunECKeyLoader.html @@ -0,0 +1,429 @@ + + + + + +SunECKeyLoader (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SunECKeyLoader

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      KeyLoader
      +
      +
      +
      public class SunECKeyLoader
      +extends java.lang.Object
      +implements KeyLoader
      +
      Used to load JCA public and private keys from conf/keys/publickey and + conf/keys/privatekey
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        SunECKeyLoader​(int id, + java.lang.String configHome, + boolean defaultKeys, + java.lang.String sigAlgorithm) +
        Creates a new instance of ECDSAKeyLoader
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        java.lang.StringgetSignatureAlgorithm() +
        Get the signature algorithm specified by the key.
        +
        java.security.PrivateKeyloadPrivateKey() +
        Loads the private key of this process
        +
        java.security.PublicKeyloadPublicKey() +
        Fetches the public key for this replica/client.
        +
        java.security.PublicKeyloadPublicKey​(int id) +
        Loads the public key of some processes from configuration files
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SunECKeyLoader

          +
          public SunECKeyLoader​(int id,
          +                      java.lang.String configHome,
          +                      boolean defaultKeys,
          +                      java.lang.String sigAlgorithm)
          +
          Creates a new instance of ECDSAKeyLoader
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey​(int id)
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Loads the public key of some processes from configuration files
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Parameters:
          +
          id - ID of the respective replica/client.
          +
          Returns:
          +
          the PublicKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPublicKey

          +
          public java.security.PublicKey loadPublicKey()
          +                                      throws java.io.IOException,
          +                                             java.security.NoSuchAlgorithmException,
          +                                             java.security.spec.InvalidKeySpecException,
          +                                             java.security.cert.CertificateException
          +
          Description copied from interface: KeyLoader
          +
          Fetches the public key for this replica/client.
          +
          +
          Specified by:
          +
          loadPublicKey in interface KeyLoader
          +
          Returns:
          +
          The replica/client's public key.
          +
          Throws:
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified by the key does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set.
          +
          java.security.cert.CertificateException - If there was an error loading the public key certificate.
          +
          +
        • +
        + + + +
          +
        • +

          loadPrivateKey

          +
          public java.security.PrivateKey loadPrivateKey()
          +                                        throws java.io.IOException,
          +                                               java.security.NoSuchAlgorithmException,
          +                                               java.security.spec.InvalidKeySpecException
          +
          Loads the private key of this process
          +
          +
          Specified by:
          +
          loadPrivateKey in interface KeyLoader
          +
          Returns:
          +
          the PrivateKey loaded from config/keys/publickey
          +
          Throws:
          +
          java.lang.Exception - problems reading or parsing the key
          +
          java.io.IOException - If there was an error reading the key file.
          +
          java.security.NoSuchAlgorithmException - If the algorithm specified in the configuration does not exist.
          +
          java.security.spec.InvalidKeySpecException - If the key specs are not properly set .
          +
          +
        • +
        + + + +
          +
        • +

          getSignatureAlgorithm

          +
          public java.lang.String getSignatureAlgorithm()
          +
          Description copied from interface: KeyLoader
          +
          Get the signature algorithm specified by the key.
          +
          +
          Specified by:
          +
          getSignatureAlgorithm in interface KeyLoader
          +
          Returns:
          +
          The signature algorithm specified by the key.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/TOMConfiguration.html b/docs/javadoc/bftsmart/reconfiguration/util/TOMConfiguration.html new file mode 100644 index 000000000..ff6627bc0 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/TOMConfiguration.html @@ -0,0 +1,1222 @@ + + + + + +TOMConfiguration (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TOMConfiguration

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          n

          +
          protected int n
          +
        • +
        + + + +
          +
        • +

          f

          +
          protected int f
          +
        • +
        + + + +
          +
        • +

          requestTimeout

          +
          protected int requestTimeout
          +
        • +
        + + + +
          +
        • +

          batchTimeout

          +
          protected int batchTimeout
          +
        • +
        + + + +
          +
        • +

          tomPeriod

          +
          protected int tomPeriod
          +
        • +
        + + + +
          +
        • +

          paxosHighMark

          +
          protected int paxosHighMark
          +
        • +
        + + + +
          +
        • +

          revivalHighMark

          +
          protected int revivalHighMark
          +
        • +
        + + + +
          +
        • +

          timeoutHighMark

          +
          protected int timeoutHighMark
          +
        • +
        + + + +
          +
        • +

          replyVerificationTime

          +
          protected int replyVerificationTime
          +
        • +
        + + + +
          +
        • +

          maxBatchSize

          +
          protected int maxBatchSize
          +
        • +
        + + + +
          +
        • +

          maxBatchSizeInBytes

          +
          protected int maxBatchSizeInBytes
          +
        • +
        + + + +
          +
        • +

          numberOfNonces

          +
          protected int numberOfNonces
          +
        • +
        + + + +
          +
        • +

          inQueueSize

          +
          protected int inQueueSize
          +
        • +
        + + + +
          +
        • +

          outQueueSize

          +
          protected int outQueueSize
          +
        • +
        + + + +
          +
        • +

          shutdownHookEnabled

          +
          protected boolean shutdownHookEnabled
          +
        • +
        + + + +
          +
        • +

          useSenderThread

          +
          protected boolean useSenderThread
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TOMConfiguration

          +
          public TOMConfiguration​(int processId,
          +                        KeyLoader loader)
          +
          Creates a new instance of TOMConfiguration
          +
        • +
        + + + +
          +
        • +

          TOMConfiguration

          +
          public TOMConfiguration​(int processId,
          +                        java.lang.String configHome,
          +                        KeyLoader loader)
          +
          Creates a new instance of TOMConfiguration
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getViewStoreClass

          +
          public java.lang.String getViewStoreClass()
          +
        • +
        + + + +
          +
        • +

          isTheTTP

          +
          public boolean isTheTTP()
          +
        • +
        + + + +
          +
        • +

          getInitialView

          +
          public final int[] getInitialView()
          +
        • +
        + + + +
          +
        • +

          getTTPId

          +
          public int getTTPId()
          +
        • +
        + + + +
          +
        • +

          getRequestTimeout

          +
          public int getRequestTimeout()
          +
        • +
        + + + +
          +
        • +

          getBatchTimeout

          +
          public int getBatchTimeout()
          +
        • +
        + + + +
          +
        • +

          getReplyVerificationTime

          +
          public int getReplyVerificationTime()
          +
        • +
        + + + +
          +
        • +

          getN

          +
          public int getN()
          +
        • +
        + + + +
          +
        • +

          getF

          +
          public int getF()
          +
        • +
        + + + +
          +
        • +

          getPaxosHighMark

          +
          public int getPaxosHighMark()
          +
        • +
        + + + +
          +
        • +

          getRevivalHighMark

          +
          public int getRevivalHighMark()
          +
        • +
        + + + +
          +
        • +

          getTimeoutHighMark

          +
          public int getTimeoutHighMark()
          +
        • +
        + + + +
          +
        • +

          getMaxBatchSize

          +
          public int getMaxBatchSize()
          +
        • +
        + + + +
          +
        • +

          getMaxBatchSizeInBytes

          +
          public int getMaxBatchSizeInBytes()
          +
          The maximum size a batch of messages can have in bytes. This limit is useful for performance and + memory limiting reasons when handling large requests.
          +
        • +
        + + + +
          +
        • +

          isShutdownHookEnabled

          +
          public boolean isShutdownHookEnabled()
          +
        • +
        + + + +
          +
        • +

          isStateTransferEnabled

          +
          public boolean isStateTransferEnabled()
          +
        • +
        + + + +
          +
        • +

          getInQueueSize

          +
          public int getInQueueSize()
          +
        • +
        + + + +
          +
        • +

          getOutQueueSize

          +
          public int getOutQueueSize()
          +
        • +
        + + + +
          +
        • +

          isUseSenderThread

          +
          public boolean isUseSenderThread()
          +
        • +
        + + + +
          +
        • +

          getNumberOfNIOThreads

          +
          public int getNumberOfNIOThreads()
          +
          *
          +
        • +
        + + + +
          +
        • +

          getNumberOfNonces

          +
          public int getNumberOfNonces()
          +
          +
          Returns:
          +
          the numberOfNonces
          +
          +
        • +
        + + + +
          +
        • +

          getUseSignatures

          +
          public int getUseSignatures()
          +
          Indicates if signatures should be used (1) or not (0) to authenticate client requests
          +
        • +
        + + + +
          +
        • +

          getCheckpointPeriod

          +
          public int getCheckpointPeriod()
          +
          Indicates the checkpoint period used when fetching the state from the application
          +
        • +
        + + + +
          +
        • +

          isToWriteCkpsToDisk

          +
          public boolean isToWriteCkpsToDisk()
          +
        • +
        + + + +
          +
        • +

          isToWriteSyncCkp

          +
          public boolean isToWriteSyncCkp()
          +
        • +
        + + + +
          +
        • +

          isToLog

          +
          public boolean isToLog()
          +
        • +
        + + + +
          +
        • +

          isToWriteSyncLog

          +
          public boolean isToWriteSyncLog()
          +
        • +
        + + + +
          +
        • +

          logToDisk

          +
          public boolean logToDisk()
          +
        • +
        + + + +
          +
        • +

          isToLogParallel

          +
          public boolean isToLogParallel()
          +
        • +
        + + + +
          +
        • +

          getGlobalCheckpointPeriod

          +
          public int getGlobalCheckpointPeriod()
          +
          Indicates the checkpoint period used when fetching the state from the application
          +
        • +
        + + + +
          +
        • +

          getUseControlFlow

          +
          public int getUseControlFlow()
          +
          Indicates if a simple control flow mechanism should be used to avoid an overflow of client requests
          +
        • +
        + + + +
          +
        • +

          getMaxRequestSize

          +
          public int getMaxRequestSize()
          +
          Maximum size in bytes a request from a client may have. Larger messages are discarded. + This setting is useful when malicious clients are present.
          +
        • +
        + + + +
          +
        • +

          isBFT

          +
          public boolean isBFT()
          +
        • +
        + + + +
          +
        • +

          getNumRepliers

          +
          public int getNumRepliers()
          +
        • +
        + + + +
          +
        • +

          getNumNettyWorkers

          +
          public int getNumNettyWorkers()
          +
        • +
        + + + +
          +
        • +

          getSameBatchSize

          +
          public boolean getSameBatchSize()
          +
        • +
        + + + +
          +
        • +

          getFairBatch

          +
          public boolean getFairBatch()
          +
        • +
        + + + +
          +
        • +

          getBindAddress

          +
          public java.lang.String getBindAddress()
          +
        • +
        + + + +
          +
        • +

          getClientInvokeOrderedTimeout

          +
          public int getClientInvokeOrderedTimeout()
          +
        • +
        + + + +
          +
        • +

          getSSLTLSProtocolVersion

          +
          public java.lang.String getSSLTLSProtocolVersion()
          +
          Tulio Ribeiro ## SSL/TLS getters.
          +
        • +
        + + + +
          +
        • +

          getSSLTLSKeyStore

          +
          public java.lang.String getSSLTLSKeyStore()
          +
        • +
        + + + +
          +
        • +

          getEnabledCiphers

          +
          public java.lang.String[] getEnabledCiphers()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/package-summary.html b/docs/javadoc/bftsmart/reconfiguration/util/package-summary.html new file mode 100644 index 000000000..da70d290c --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/package-summary.html @@ -0,0 +1,197 @@ + + + + + +bftsmart.reconfiguration.util (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.reconfiguration.util

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/util/package-tree.html b/docs/javadoc/bftsmart/reconfiguration/util/package-tree.html new file mode 100644 index 000000000..e8d885cf4 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/util/package-tree.html @@ -0,0 +1,175 @@ + + + + + +bftsmart.reconfiguration.util Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.reconfiguration.util

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/DefaultViewStorage.html b/docs/javadoc/bftsmart/reconfiguration/views/DefaultViewStorage.html new file mode 100644 index 000000000..94cdb753d --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/DefaultViewStorage.html @@ -0,0 +1,359 @@ + + + + + +DefaultViewStorage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DefaultViewStorage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      ViewStorage
      +
      +
      +
      public class DefaultViewStorage
      +extends java.lang.Object
      +implements ViewStorage
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        DefaultViewStorage​(java.lang.String configPath) 
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DefaultViewStorage

          +
          public DefaultViewStorage​(java.lang.String configPath)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          getBytes

          +
          public byte[] getBytes​(View view)
          +
        • +
        + + + +
          +
        • +

          getView

          +
          public View getView​(byte[] bytes)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/TestViewSerialization.html b/docs/javadoc/bftsmart/reconfiguration/views/TestViewSerialization.html new file mode 100644 index 000000000..b09b45b6b --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/TestViewSerialization.html @@ -0,0 +1,311 @@ + + + + + +TestViewSerialization (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TestViewSerialization

    +
    +
    + +
    +
      +
    • +
      +
      public class TestViewSerialization
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TestViewSerialization

          +
          public TestViewSerialization()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.Exception
          +
          +
          Parameters:
          +
          args - the command line arguments
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/View.html b/docs/javadoc/bftsmart/reconfiguration/views/View.html new file mode 100644 index 000000000..8680fde12 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/View.html @@ -0,0 +1,457 @@ + + + + + +View (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class View

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class View
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        View​(int id, + int[] processes, + int f, + java.net.InetSocketAddress[] addresses) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanequals​(java.lang.Object obj) 
        java.net.InetSocketAddressgetAddress​(int id) 
        intgetF() 
        intgetId() 
        intgetN() 
        intgetPos​(int id) 
        int[]getProcesses() 
        inthashCode() 
        booleanisMember​(int id) 
        java.lang.StringtoString() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          View

          +
          public View​(int id,
          +            int[] processes,
          +            int f,
          +            java.net.InetSocketAddress[] addresses)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isMember

          +
          public boolean isMember​(int id)
          +
        • +
        + + + +
          +
        • +

          getPos

          +
          public int getPos​(int id)
          +
        • +
        + + + +
          +
        • +

          getId

          +
          public int getId()
          +
        • +
        + + + +
          +
        • +

          getF

          +
          public int getF()
          +
        • +
        + + + +
          +
        • +

          getN

          +
          public int getN()
          +
        • +
        + + + +
          +
        • +

          getProcesses

          +
          public int[] getProcesses()
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          getAddress

          +
          public java.net.InetSocketAddress getAddress​(int id)
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object obj)
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/ViewStorage.html b/docs/javadoc/bftsmart/reconfiguration/views/ViewStorage.html new file mode 100644 index 000000000..c35d74464 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/ViewStorage.html @@ -0,0 +1,266 @@ + + + + + +ViewStorage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface ViewStorage

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      DefaultViewStorage
      +
      +
      +
      public interface ViewStorage
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          storeView

          +
          boolean storeView​(View view)
          +
        • +
        + + + +
          +
        • +

          readView

          +
          View readView()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/package-summary.html b/docs/javadoc/bftsmart/reconfiguration/views/package-summary.html new file mode 100644 index 000000000..206d2ba11 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/package-summary.html @@ -0,0 +1,187 @@ + + + + + +bftsmart.reconfiguration.views (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.reconfiguration.views

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/reconfiguration/views/package-tree.html b/docs/javadoc/bftsmart/reconfiguration/views/package-tree.html new file mode 100644 index 000000000..6a857e310 --- /dev/null +++ b/docs/javadoc/bftsmart/reconfiguration/views/package-tree.html @@ -0,0 +1,169 @@ + + + + + +bftsmart.reconfiguration.views Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.reconfiguration.views

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/ApplicationState.html b/docs/javadoc/bftsmart/statemanagement/ApplicationState.html new file mode 100644 index 000000000..a68aa9176 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/ApplicationState.html @@ -0,0 +1,421 @@ + + + + + +ApplicationState (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface ApplicationState

    +
    +
    +
    +
      +
    • +
      +
      All Superinterfaces:
      +
      java.io.Serializable
      +
      +
      +
      All Known Implementing Classes:
      +
      CSTState, DefaultApplicationState
      +
      +
      +
      public interface ApplicationState
      +extends java.io.Serializable
      +
      This interface represents a state transfered from a replica to another. The state associated with the last + checkpoint together with all the batches of messages received do far, comprises the sender's + current state + + IMPORTANT: The hash state MUST ALWAYS be present, regardless if the replica is supposed to + send the complete state or not
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Abstract Methods 
        Modifier and TypeMethodDescription
        booleanequals​(java.lang.Object obj) +
        This method MUST be implemented.
        +
        CertifiedDecisiongetCertifiedDecision​(ServerViewController controller) +
        Retrieves the certified decision for the last consensus present in this object
        +
        intgetLastCID() +
        The consensus of the last batch of commands which the application was given
        +
        byte[]getSerializedState() +
        Byte array that must be a representation of the application state
        +
        byte[]getStateHash() +
        Gets an secure hash of the application state
        +
        inthashCode() +
        This method MUST be implemented.
        +
        booleanhasState() +
        Indicates if the sender replica had the state requested by the recovering replica
        +
        voidsetSerializedState​(byte[] state) +
        Sets a byte array that must be a representation of the application state
        +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLastCID

          +
          int getLastCID()
          +
          The consensus of the last batch of commands which the application was given
          +
          +
          Returns:
          +
          consensus of the last batch of commands which the application was given
          +
          +
        • +
        + + + +
          +
        • +

          getCertifiedDecision

          +
          CertifiedDecision getCertifiedDecision​(ServerViewController controller)
          +
          Retrieves the certified decision for the last consensus present in this object
          +
          +
          Parameters:
          +
          controller -
          +
          Returns:
          +
          The certified decision for the last consensus present in this object
          +
          +
        • +
        + + + +
          +
        • +

          hasState

          +
          boolean hasState()
          +
          Indicates if the sender replica had the state requested by the recovering replica
          +
          +
          Returns:
          +
          true if the sender replica had the state requested by the recovering replica, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          setSerializedState

          +
          void setSerializedState​(byte[] state)
          +
          Sets a byte array that must be a representation of the application state
          +
          +
          Parameters:
          +
          state - a byte array that must be a representation of the application state
          +
          +
        • +
        + + + +
          +
        • +

          getSerializedState

          +
          byte[] getSerializedState()
          +
          Byte array that must be a representation of the application state
          +
          +
          Returns:
          +
          A byte array that must be a representation of the application state
          +
          +
        • +
        + + + +
          +
        • +

          getStateHash

          +
          byte[] getStateHash()
          +
          Gets an secure hash of the application state
          +
          +
          Returns:
          +
          Secure hash of the application state
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          boolean equals​(java.lang.Object obj)
          +
          This method MUST be implemented. However, the attribute returned by getSerializedState() + should be ignored, and getStateHash() should be used instead
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          int hashCode()
          +
          This method MUST be implemented. However, the attribute returned by getSerializedState() + should be ignored, and getStateHash() should be used instead
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/SMMessage.html b/docs/javadoc/bftsmart/statemanagement/SMMessage.html new file mode 100644 index 000000000..276c40997 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/SMMessage.html @@ -0,0 +1,577 @@ + + + + + +SMMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SMMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      CSTSMMessage, StandardSMMessage
      +
      +
      +
      public abstract class SMMessage
      +extends SystemMessage
      +
      This class represents a message used in the state transfer protocol
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + +
        Constructors 
        ModifierConstructorDescription
        protected SMMessage() 
        protected SMMessage​(int sender, + int cid, + int type, + ApplicationState state, + View view, + int regency, + int leader) +
        Constructs a SMMessage
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        intgetCID() +
        Retrieves the consensus ID up to which the sender needs to be updated
        +
        intgetLeader() +
        Retrieves the leader that the replica had when sending the state
        +
        intgetRegency() +
        Retrieves the regency that the replica had when sending the state
        +
        ApplicationStategetState() +
        Retrieves the state log
        +
        intgetType() +
        Retrieves the type of the message
        +
        ViewgetView() +
        Retrieves the state log
        +
        voidreadExternal​(java.io.ObjectInput in) 
        voidwriteExternal​(java.io.ObjectOutput out) 
        + +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          TRIGGER_SM_LOCALLY

          +
          public final boolean TRIGGER_SM_LOCALLY
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SMMessage

          +
          protected SMMessage​(int sender,
          +                    int cid,
          +                    int type,
          +                    ApplicationState state,
          +                    View view,
          +                    int regency,
          +                    int leader)
          +
          Constructs a SMMessage
          +
          +
          Parameters:
          +
          sender - Process Id of the sender
          +
          cid - Consensus ID up to which the sender needs to be updated
          +
          type - Message type
          +
          replica - Replica that should send the state
          +
          state - State log
          +
          +
        • +
        + + + +
          +
        • +

          SMMessage

          +
          protected SMMessage()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getState

          +
          public ApplicationState getState()
          +
          Retrieves the state log
          +
          +
          Returns:
          +
          The state Log
          +
          +
        • +
        + + + +
          +
        • +

          getView

          +
          public View getView()
          +
          Retrieves the state log
          +
          +
          Returns:
          +
          The state Log
          +
          +
        • +
        + + + +
          +
        • +

          getType

          +
          public int getType()
          +
          Retrieves the type of the message
          +
          +
          Returns:
          +
          The type of the message
          +
          +
        • +
        + + + +
          +
        • +

          getCID

          +
          public int getCID()
          +
          Retrieves the consensus ID up to which the sender needs to be updated
          +
          +
          Returns:
          +
          The consensus ID up to which the sender needs to be updated
          +
          +
        • +
        + + + +
          +
        • +

          getRegency

          +
          public int getRegency()
          +
          Retrieves the regency that the replica had when sending the state
          +
          +
          Returns:
          +
          The regency that the replica had when sending the state
          +
          +
        • +
        + + + +
          +
        • +

          getLeader

          +
          public int getLeader()
          +
          Retrieves the leader that the replica had when sending the state
          +
          +
          Returns:
          +
          The leader that the replica had when sending the state
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/StateManager.html b/docs/javadoc/bftsmart/statemanagement/StateManager.html new file mode 100644 index 000000000..bbc2ee42f --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/StateManager.html @@ -0,0 +1,892 @@ + + + + + +StateManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class StateManager

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          tomLayer

          +
          protected TOMLayer tomLayer
          +
        • +
        + + + + + + + + + + + + + + + +
          +
        • +

          senderStates

          +
          protected java.util.HashMap<java.lang.Integer,​ApplicationState> senderStates
          +
        • +
        + + + +
          +
        • +

          senderViews

          +
          protected java.util.HashMap<java.lang.Integer,​View> senderViews
          +
        • +
        + + + +
          +
        • +

          senderRegencies

          +
          protected java.util.HashMap<java.lang.Integer,​java.lang.Integer> senderRegencies
          +
        • +
        + + + +
          +
        • +

          senderLeaders

          +
          protected java.util.HashMap<java.lang.Integer,​java.lang.Integer> senderLeaders
          +
        • +
        + + + +
          +
        • +

          senderProofs

          +
          protected java.util.HashMap<java.lang.Integer,​CertifiedDecision> senderProofs
          +
        • +
        + + + +
          +
        • +

          appStateOnly

          +
          protected boolean appStateOnly
          +
        • +
        + + + +
          +
        • +

          waitingCID

          +
          protected int waitingCID
          +
        • +
        + + + +
          +
        • +

          queryID

          +
          protected int queryID
          +
        • +
        + + + +
          +
        • +

          lastCID

          +
          protected int lastCID
          +
        • +
        + + + + + + + +
          +
        • +

          isInitializing

          +
          protected boolean isInitializing
          +
        • +
        + + + +
          +
        • +

          queries

          +
          protected java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> queries
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StateManager

          +
          public StateManager()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getReplies

          +
          protected int getReplies()
          +
        • +
        + + + +
          +
        • +

          enoughReplies

          +
          protected boolean enoughReplies()
          +
        • +
        + + + +
          +
        • +

          enoughRegencies

          +
          protected boolean enoughRegencies​(int regency)
          +
        • +
        + + + +
          +
        • +

          enoughLeaders

          +
          protected boolean enoughLeaders​(int leader)
          +
        • +
        + + + +
          +
        • +

          enoughViews

          +
          protected boolean enoughViews​(View view)
          +
        • +
        + + + +
          +
        • +

          enoughProofs

          +
          protected boolean enoughProofs​(int cid,
          +                               LCManager lc)
          +
        • +
        + + + +
          +
        • +

          reset

          +
          protected void reset()
          +
          Clear the collections and state hold by this object. Calls clear() in the + States, Leaders, regencies and Views collections. Sets the state to + null;
          +
        • +
        + + + +
          +
        • +

          receivedStates

          +
          public java.util.Collection<ApplicationState> receivedStates()
          +
        • +
        + + + +
          +
        • +

          setLastCID

          +
          public void setLastCID​(int cid)
          +
        • +
        + + + +
          +
        • +

          getLastCID

          +
          public int getLastCID()
          +
        • +
        + + + +
          +
        • +

          requestAppState

          +
          public void requestAppState​(int cid)
          +
        • +
        + + + +
          +
        • +

          analyzeState

          +
          public void analyzeState​(int cid)
          +
        • +
        + + + +
          +
        • +

          isRetrievingState

          +
          public boolean isRetrievingState()
          +
        • +
        + + + +
          +
        • +

          askCurrentConsensusId

          +
          public void askCurrentConsensusId()
          +
        • +
        + + + +
          +
        • +

          currentConsensusIdAsked

          +
          public void currentConsensusIdAsked​(int sender,
          +                                    int id)
          +
        • +
        + + + +
          +
        • +

          currentConsensusIdReceived

          +
          public void currentConsensusIdReceived​(SMMessage smsg)
          +
        • +
        + + + + + + + +
          +
        • +

          triggerTimeout

          +
          public void triggerTimeout​(SMMessage msg)
          +
        • +
        + + + +
          +
        • +

          requestState

          +
          protected abstract void requestState()
          +
          Request the state to the other replicas. It should ask for the state defined in the 'waitingCID' variable.
          +
        • +
        + + + +
          +
        • +

          stateTimeout

          +
          public abstract void stateTimeout()
          +
          To use if the state manager needs to use timeout for liveness and when such timeout expires. To trigger the invocation, + the method 'triggerTimeout' should be invoked by the class extending StateManager supplying an SMMessage of type 'TRIGGER_SM_LOCALLY'
          +
        • +
        + + + +
          +
        • +

          SMRequestDeliver

          +
          public abstract void SMRequestDeliver​(SMMessage msg,
          +                                      boolean isBFT)
          +
          Invoked when a replica is asking to be sent the application state.
          +
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REQUEST'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        + + + +
          +
        • +

          SMReplyDeliver

          +
          public abstract void SMReplyDeliver​(SMMessage msg,
          +                                    boolean isBFT)
          +
          Invoked when a replica receives a reply to its request to be sent the application state.
          +
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REPLY'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/CSTRequest.html b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequest.html new file mode 100644 index 000000000..fec95e82d --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequest.html @@ -0,0 +1,411 @@ + + + + + +CSTRequest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CSTRequest

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      CSTRequestF1, CSTRequestFGT1
      +
      +
      +
      public abstract class CSTRequest
      +extends java.lang.Object
      +implements java.io.Serializable
      +
      This class is used to define the roles in the Collaborative State Transfer protocol. + The recovering replica uses this class to define which replicas should send the + checkpoint, log of opperations lower and higher portions
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        protected intcheckpointReplica +
        id of the replica responsible for sending the checkpoint;
        +
        protected intcid 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        CSTRequest​(int cid) 
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          cid

          +
          protected int cid
          +
        • +
        + + + +
          +
        • +

          checkpointReplica

          +
          protected int checkpointReplica
          +
          id of the replica responsible for sending the checkpoint;
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CSTRequest

          +
          public CSTRequest​(int cid)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getCID

          +
          public int getCID()
          +
        • +
        + + + +
          +
        • +

          getCheckpointReplica

          +
          public int getCheckpointReplica()
          +
        • +
        + + + +
          +
        • +

          defineReplicas

          +
          public abstract void defineReplicas​(int[] processes,
          +                                    int globalCkpPeriod,
          +                                    int replicaId)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestF1.html b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestF1.html new file mode 100644 index 000000000..be6a42d22 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestF1.html @@ -0,0 +1,475 @@ + + + + + +CSTRequestF1 (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CSTRequestF1

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class CSTRequestF1
      +extends CSTRequest
      +
      This class is used to define the roles in the Collaborative State Transfer protocol. + The recovering replica uses this class to define which replicas should send the + checkpoint, log of operations lower and higher portions
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        CSTRequestF1​(int cid) 
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CSTRequestF1

          +
          public CSTRequestF1​(int cid)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLogUpper

          +
          public int getLogUpper()
          +
        • +
        + + + +
          +
        • +

          setLogUpper

          +
          public void setLogUpper​(int logUpper)
          +
        • +
        + + + +
          +
        • +

          getLogLower

          +
          public int getLogLower()
          +
        • +
        + + + +
          +
        • +

          setLogLower

          +
          public void setLogLower​(int logLower)
          +
        • +
        + + + +
          +
        • +

          getLogUpperSize

          +
          public int getLogUpperSize()
          +
        • +
        + + + +
          +
        • +

          defineReplicas

          +
          public void defineReplicas​(int[] otherReplicas,
          +                           int globalCkpPeriod,
          +                           int me)
          +
          Define and set the attributes of this CST Request according to the + algorithm described in the durability state transfer paper. + In summary, the algorithm defines that, in a situation with three + seeders, the seeder in the middle (the one that took the checkpoint + just after the oldest) must send the checkpoint. The oldest must + send the log of the period between the middle checkpoint until the + checkpoint of the newest replica. The newest replica must send the + log from the begging to the CID requested.
          +
          +
          Specified by:
          +
          defineReplicas in class CSTRequest
          +
          +
        • +
        + + + +
          +
        • +

          getAddress

          +
          public java.net.InetSocketAddress getAddress()
          +
        • +
        + + + +
          +
        • +

          setAddress

          +
          public void setAddress​(java.net.InetSocketAddress address)
          +
        • +
        + + + +
          +
        • +

          getLogLowerSize

          +
          public int getLogLowerSize()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestFGT1.html b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestFGT1.html new file mode 100644 index 000000000..3bb082923 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/CSTRequestFGT1.html @@ -0,0 +1,394 @@ + + + + + +CSTRequestFGT1 (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CSTRequestFGT1

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable
      +
      +
      +
      public class CSTRequestFGT1
      +extends CSTRequest
      +
      This class is used to define the roles in the Collaborative State Transfer protocol. + The recovering replica uses this class to define which replicas should send the + checkpoint, log of opperations lower and higher portions
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CSTRequestFGT1

          +
          public CSTRequestFGT1​(int cid)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHashesReplica

          +
          public int getHashesReplica()
          +
        • +
        + + + +
          +
        • +

          getNbrHashesBeforeCkp

          +
          public int getNbrHashesBeforeCkp()
          +
        • +
        + + + +
          +
        • +

          getLogSize

          +
          public int getLogSize()
          +
        • +
        + + + +
          +
        • +

          defineReplicas

          +
          public void defineReplicas​(int[] processes,
          +                           int globalCkpPeriod,
          +                           int replicaId)
          +
          +
          Specified by:
          +
          defineReplicas in class CSTRequest
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/CSTSMMessage.html b/docs/javadoc/bftsmart/statemanagement/durability/CSTSMMessage.html new file mode 100644 index 000000000..5e636ad83 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/CSTSMMessage.html @@ -0,0 +1,435 @@ + + + + + +CSTSMMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CSTSMMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class CSTSMMessage
      +extends SMMessage
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CSTSMMessage

          +
          public CSTSMMessage​(int sender,
          +                    int cid,
          +                    int type,
          +                    CSTRequestF1 cstConfig,
          +                    ApplicationState state,
          +                    View view,
          +                    int regency,
          +                    int leader)
          +
        • +
        + + + +
          +
        • +

          CSTSMMessage

          +
          public CSTSMMessage()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SMMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SMMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/CSTState.html b/docs/javadoc/bftsmart/statemanagement/durability/CSTState.html new file mode 100644 index 000000000..16e3eeb93 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/CSTState.html @@ -0,0 +1,586 @@ + + + + + +CSTState (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CSTState

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      ApplicationState, java.io.Serializable
      +
      +
      +
      public class CSTState
      +extends java.lang.Object
      +implements ApplicationState
      +
      Stores the data used to transfer the state to a recovering replica. + This class serves the three different seeders defined in the CST optimized + version for f=1. + In that version, the newest replica to take the checkpoint is expected to send + the hash of the checkpoint plus the upper portion of the log. The replica which + took the checkpoint before that, i.e., the middle replica is expected to send + the checkpoint it has plus hashes of the lower and upper portions of the log. + The oldest replica to take the checkpoint must send the lower portion of the + log. + This object must be passed to the state manager class which will combine the + replies from the seeders, validating the values and updating the state in the + leecher.
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CSTState

          +
          public CSTState​(byte[] state,
          +                byte[] hashCheckpoint,
          +                CommandsInfo[] logLower,
          +                byte[] hashLogLower,
          +                CommandsInfo[] logUpper,
          +                byte[] hashLogUpper,
          +                int checkpointCID,
          +                int lastCID,
          +                int pid)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          hasState

          +
          public boolean hasState()
          +
          Description copied from interface: ApplicationState
          +
          Indicates if the sender replica had the state requested by the recovering replica
          +
          +
          Specified by:
          +
          hasState in interface ApplicationState
          +
          Returns:
          +
          true if the sender replica had the state requested by the recovering replica, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          getSerializedState

          +
          public byte[] getSerializedState()
          +
          Description copied from interface: ApplicationState
          +
          Byte array that must be a representation of the application state
          +
          +
          Specified by:
          +
          getSerializedState in interface ApplicationState
          +
          Returns:
          +
          A byte array that must be a representation of the application state
          +
          +
        • +
        + + + +
          +
        • +

          getStateHash

          +
          public byte[] getStateHash()
          +
          Description copied from interface: ApplicationState
          +
          Gets an secure hash of the application state
          +
          +
          Specified by:
          +
          getStateHash in interface ApplicationState
          +
          Returns:
          +
          Secure hash of the application state
          +
          +
        • +
        + + + +
          +
        • +

          setSerializedState

          +
          public void setSerializedState​(byte[] state)
          +
          Description copied from interface: ApplicationState
          +
          Sets a byte array that must be a representation of the application state
          +
          +
          Specified by:
          +
          setSerializedState in interface ApplicationState
          +
          Parameters:
          +
          state - a byte array that must be a representation of the application state
          +
          +
        • +
        + + + +
          +
        • +

          getLastCID

          +
          public int getLastCID()
          +
          Description copied from interface: ApplicationState
          +
          The consensus of the last batch of commands which the application was given
          +
          +
          Specified by:
          +
          getLastCID in interface ApplicationState
          +
          Returns:
          +
          consensus of the last batch of commands which the application was given
          +
          +
        • +
        + + + +
          +
        • +

          getCertifiedDecision

          +
          public CertifiedDecision getCertifiedDecision​(ServerViewController controller)
          +
          Retrieves the certified decision for the last consensus present in this object
          +
          +
          Specified by:
          +
          getCertifiedDecision in interface ApplicationState
          +
          Parameters:
          +
          controller -
          +
          Returns:
          +
          The certified decision for the last consensus present in this object
          +
          +
        • +
        + + + +
          +
        • +

          getCheckpointCID

          +
          public int getCheckpointCID()
          +
        • +
        + + + +
          +
        • +

          getMessageBatch

          +
          public CommandsInfo getMessageBatch​(int cid)
          +
          Retrieves the specified batch of messages
          +
          +
          Parameters:
          +
          cid - Consensus ID associated with the batch to be fetched
          +
          Returns:
          +
          The batch of messages associated with the batch correspondent consensus ID
          +
          +
        • +
        + + + +
          +
        • +

          getHashLogUpper

          +
          public byte[] getHashLogUpper()
          +
        • +
        + + + +
          +
        • +

          getHashLogLower

          +
          public byte[] getHashLogLower()
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getHashCheckpoint

          +
          public byte[] getHashCheckpoint()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/DurableStateManager.html b/docs/javadoc/bftsmart/statemanagement/durability/DurableStateManager.html new file mode 100644 index 000000000..774405255 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/DurableStateManager.html @@ -0,0 +1,418 @@ + + + + + +DurableStateManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DurableStateManager

    +
    +
    + +
    +
      +
    • +
      +
      public class DurableStateManager
      +extends StateManager
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DurableStateManager

          +
          public DurableStateManager()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          requestState

          +
          protected void requestState()
          +
          Description copied from class: StateManager
          +
          Request the state to the other replicas. It should ask for the state defined in the 'waitingCID' variable.
          +
          +
          Specified by:
          +
          requestState in class StateManager
          +
          +
        • +
        + + + +
          +
        • +

          stateTimeout

          +
          public void stateTimeout()
          +
          Description copied from class: StateManager
          +
          To use if the state manager needs to use timeout for liveness and when such timeout expires. To trigger the invocation, + the method 'triggerTimeout' should be invoked by the class extending StateManager supplying an SMMessage of type 'TRIGGER_SM_LOCALLY'
          +
          +
          Specified by:
          +
          stateTimeout in class StateManager
          +
          +
        • +
        + + + +
          +
        • +

          SMRequestDeliver

          +
          public void SMRequestDeliver​(SMMessage msg,
          +                             boolean isBFT)
          +
          Description copied from class: StateManager
          +
          Invoked when a replica is asking to be sent the application state.
          +
          +
          Specified by:
          +
          SMRequestDeliver in class StateManager
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REQUEST'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        + + + +
          +
        • +

          SMReplyDeliver

          +
          public void SMReplyDeliver​(SMMessage msg,
          +                           boolean isBFT)
          +
          Description copied from class: StateManager
          +
          Invoked when a replica receives a reply to its request to be sent the application state.
          +
          +
          Specified by:
          +
          SMReplyDeliver in class StateManager
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REPLY'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/StateSender.html b/docs/javadoc/bftsmart/statemanagement/durability/StateSender.html new file mode 100644 index 000000000..8c998acd9 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/StateSender.html @@ -0,0 +1,327 @@ + + + + + +StateSender (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class StateSender

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public class StateSender
      +extends java.lang.Object
      +implements java.lang.Runnable
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        StateSender​(java.net.Socket socket) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidrun() 
        voidsetState​(ApplicationState state) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StateSender

          +
          public StateSender​(java.net.Socket socket)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/StateSenderServer.html b/docs/javadoc/bftsmart/statemanagement/durability/StateSenderServer.html new file mode 100644 index 000000000..7a27c3996 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/StateSenderServer.html @@ -0,0 +1,355 @@ + + + + + +StateSenderServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class StateSenderServer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public class StateSenderServer
      +extends java.lang.Object
      +implements java.lang.Runnable
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StateSenderServer

          +
          public StateSenderServer​(int port)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setRecoverable

          +
          public void setRecoverable​(Recoverable recoverable)
          +
        • +
        + + + +
          +
        • +

          setRequest

          +
          public void setRequest​(CSTRequest request)
          +
        • +
        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/package-summary.html b/docs/javadoc/bftsmart/statemanagement/durability/package-summary.html new file mode 100644 index 000000000..2ba26e3d1 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/package-summary.html @@ -0,0 +1,200 @@ + + + + + +bftsmart.statemanagement.durability (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.statemanagement.durability

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/durability/package-tree.html b/docs/javadoc/bftsmart/statemanagement/durability/package-tree.html new file mode 100644 index 000000000..386f56565 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/durability/package-tree.html @@ -0,0 +1,183 @@ + + + + + +bftsmart.statemanagement.durability Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.statemanagement.durability

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/package-summary.html b/docs/javadoc/bftsmart/statemanagement/package-summary.html new file mode 100644 index 000000000..2045230b5 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/package-summary.html @@ -0,0 +1,187 @@ + + + + + +bftsmart.statemanagement (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.statemanagement

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/package-tree.html b/docs/javadoc/bftsmart/statemanagement/package-tree.html new file mode 100644 index 000000000..4a896e508 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/package-tree.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.statemanagement Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.statemanagement

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/standard/StandardSMMessage.html b/docs/javadoc/bftsmart/statemanagement/standard/StandardSMMessage.html new file mode 100644 index 000000000..b1322c59b --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/standard/StandardSMMessage.html @@ -0,0 +1,442 @@ + + + + + +StandardSMMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class StandardSMMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class StandardSMMessage
      +extends SMMessage
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StandardSMMessage

          +
          public StandardSMMessage​(int sender,
          +                         int cid,
          +                         int type,
          +                         int replica,
          +                         ApplicationState state,
          +                         View view,
          +                         int regency,
          +                         int leader)
          +
        • +
        + + + +
          +
        • +

          StandardSMMessage

          +
          public StandardSMMessage()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getReplica

          +
          public int getReplica()
          +
          Retrieves the replica that should send the state
          +
          +
          Returns:
          +
          The replica that should send the state
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SMMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SMMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/standard/StandardStateManager.html b/docs/javadoc/bftsmart/statemanagement/standard/StandardStateManager.html new file mode 100644 index 000000000..d7f089cf8 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/standard/StandardStateManager.html @@ -0,0 +1,438 @@ + + + + + +StandardStateManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class StandardStateManager

    +
    +
    + +
    +
      +
    • +
      +
      public class StandardStateManager
      +extends StateManager
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StandardStateManager

          +
          public StandardStateManager()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          requestState

          +
          protected void requestState()
          +
          Description copied from class: StateManager
          +
          Request the state to the other replicas. It should ask for the state defined in the 'waitingCID' variable.
          +
          +
          Specified by:
          +
          requestState in class StateManager
          +
          +
        • +
        + + + +
          +
        • +

          stateTimeout

          +
          public void stateTimeout()
          +
          Description copied from class: StateManager
          +
          To use if the state manager needs to use timeout for liveness and when such timeout expires. To trigger the invocation, + the method 'triggerTimeout' should be invoked by the class extending StateManager supplying an SMMessage of type 'TRIGGER_SM_LOCALLY'
          +
          +
          Specified by:
          +
          stateTimeout in class StateManager
          +
          +
        • +
        + + + +
          +
        • +

          SMRequestDeliver

          +
          public void SMRequestDeliver​(SMMessage msg,
          +                             boolean isBFT)
          +
          Description copied from class: StateManager
          +
          Invoked when a replica is asking to be sent the application state.
          +
          +
          Specified by:
          +
          SMRequestDeliver in class StateManager
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REQUEST'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        + + + +
          +
        • +

          SMReplyDeliver

          +
          public void SMReplyDeliver​(SMMessage msg,
          +                           boolean isBFT)
          +
          Description copied from class: StateManager
          +
          Invoked when a replica receives a reply to its request to be sent the application state.
          +
          +
          Specified by:
          +
          SMReplyDeliver in class StateManager
          +
          Parameters:
          +
          msg - The message sent by the replica, of type 'SM_REPLY'.
          +
          isBFT - true if the library is set for BFT, false if CFT
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/statemanagement/standard/package-summary.html b/docs/javadoc/bftsmart/statemanagement/standard/package-summary.html new file mode 100644 index 000000000..60cb6ee34 --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/standard/package-summary.html @@ -0,0 +1,168 @@ + + + + + +bftsmart.statemanagement.standard (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.statemanagement.standard

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/statemanagement/standard/package-tree.html b/docs/javadoc/bftsmart/statemanagement/standard/package-tree.html new file mode 100644 index 000000000..d392bcd5d --- /dev/null +++ b/docs/javadoc/bftsmart/statemanagement/standard/package-tree.html @@ -0,0 +1,174 @@ + + + + + +bftsmart.statemanagement.standard Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.statemanagement.standard

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/AbstractIntegrationTest.html b/docs/javadoc/bftsmart/tests/AbstractIntegrationTest.html new file mode 100644 index 000000000..1f7fd4914 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/AbstractIntegrationTest.html @@ -0,0 +1,425 @@ + + + + + +AbstractIntegrationTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AbstractIntegrationTest

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractIntegrationTest

          +
          public AbstractIntegrationTest()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeTest

          +
          public void executeTest()
          +                 throws java.lang.Exception
          +
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        + + + +
          +
        • +

          getControllerIP

          +
          public abstract java.lang.String getControllerIP()
          +
        • +
        + + + +
          +
        • +

          getControllerPort

          +
          public abstract int getControllerPort()
          +
        • +
        + + + +
          +
        • +

          getNWorkers

          +
          public abstract int getNWorkers()
          +
        • +
        + + + +
          +
        • +

          getWorkingDirectory

          +
          public abstract java.lang.String getWorkingDirectory()
          +
        • +
        + + + +
          +
        • +

          getBenchmarkStrategyClassName

          +
          public abstract java.lang.String getBenchmarkStrategyClassName()
          +
        • +
        + + + +
          +
        • +

          getWorkerSetupClassName

          +
          public abstract java.lang.String getWorkerSetupClassName()
          +
        • +
        + + + +
          +
        • +

          getWorkerEventProcessClassName

          +
          public abstract java.lang.String getWorkerEventProcessClassName()
          +
        • +
        + + + +
          +
        • +

          getTestParameters

          +
          public abstract java.util.Properties getTestParameters()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/BFTSMaRtSetup.html b/docs/javadoc/bftsmart/tests/BFTSMaRtSetup.html new file mode 100644 index 000000000..b9c8e3322 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/BFTSMaRtSetup.html @@ -0,0 +1,313 @@ + + + + + +BFTSMaRtSetup (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class BFTSMaRtSetup

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      worker.ISetupWorker
      +
      +
      +
      public class BFTSMaRtSetup
      +extends java.lang.Object
      +implements worker.ISetupWorker
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        BFTSMaRtSetup() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidsetup​(java.lang.String setupInformation) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          BFTSMaRtSetup

          +
          public BFTSMaRtSetup()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setup

          +
          public void setup​(java.lang.String setupInformation)
          +
          +
          Specified by:
          +
          setup in interface worker.ISetupWorker
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/IntegrationTestsExecutor.html b/docs/javadoc/bftsmart/tests/IntegrationTestsExecutor.html new file mode 100644 index 000000000..1055f9d83 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/IntegrationTestsExecutor.html @@ -0,0 +1,309 @@ + + + + + +IntegrationTestsExecutor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class IntegrationTestsExecutor

    +
    +
    + +
    +
      +
    • +
      +
      public class IntegrationTestsExecutor
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          IntegrationTestsExecutor

          +
          public IntegrationTestsExecutor()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.lang.Exception
          +
          +
          Throws:
          +
          java.lang.Exception
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/normal/CounterEventProcessor.html b/docs/javadoc/bftsmart/tests/normal/CounterEventProcessor.html new file mode 100644 index 000000000..f927afe22 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/CounterEventProcessor.html @@ -0,0 +1,403 @@ + + + + + +CounterEventProcessor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterEventProcessor

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      worker.IWorkerEventProcessor
      +
      +
      +
      public class CounterEventProcessor
      +extends java.lang.Object
      +implements worker.IWorkerEventProcessor
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CounterEventProcessor

          +
          public CounterEventProcessor()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          process

          +
          public void process​(java.lang.String line)
          +
          +
          Specified by:
          +
          process in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          startProcessing

          +
          public void startProcessing()
          +
          +
          Specified by:
          +
          startProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          stopProcessing

          +
          public void stopProcessing()
          +
          +
          Specified by:
          +
          stopProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          getProcessingResult

          +
          public worker.IProcessingResult getProcessingResult()
          +
          +
          Specified by:
          +
          getProcessingResult in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          isReady

          +
          public boolean isReady()
          +
          +
          Specified by:
          +
          isReady in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          ended

          +
          public boolean ended()
          +
          +
          Specified by:
          +
          ended in interface worker.IWorkerEventProcessor
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/normal/CounterTest.html b/docs/javadoc/bftsmart/tests/normal/CounterTest.html new file mode 100644 index 000000000..75134ed29 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/CounterTest.html @@ -0,0 +1,450 @@ + + + + + +CounterTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterTest

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/normal/CounterTestClient.html b/docs/javadoc/bftsmart/tests/normal/CounterTestClient.html new file mode 100644 index 000000000..8c847c93f --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/CounterTestClient.html @@ -0,0 +1,309 @@ + + + + + +CounterTestClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterTestClient

    +
    +
    + +
    +
      +
    • +
      +
      public class CounterTestClient
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        CounterTestClient() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CounterTestClient

          +
          public CounterTestClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +                 throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/normal/CounterTestStrategy.html b/docs/javadoc/bftsmart/tests/normal/CounterTestStrategy.html new file mode 100644 index 000000000..81073ade6 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/CounterTestStrategy.html @@ -0,0 +1,391 @@ + + + + + +CounterTestStrategy (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CounterTestStrategy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
      +
      +
      public class CounterTestStrategy
      +extends java.lang.Object
      +implements controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidexecuteBenchmark​(controller.WorkerHandler[] workerHandlers, + java.util.Properties benchmarkParameters) 
        voidonEnded​(int workerId) 
        voidonError​(int workerId, + java.lang.String errorMessage) 
        voidonReady​(int workerId) 
        voidonResult​(int workerId, + worker.IProcessingResult processingResult) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CounterTestStrategy

          +
          public CounterTestStrategy()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeBenchmark

          +
          public void executeBenchmark​(controller.WorkerHandler[] workerHandlers,
          +                             java.util.Properties benchmarkParameters)
          +
          +
          Specified by:
          +
          executeBenchmark in interface controller.IBenchmarkStrategy
          +
          +
        • +
        + + + +
          +
        • +

          onReady

          +
          public void onReady​(int workerId)
          +
          +
          Specified by:
          +
          onReady in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onEnded

          +
          public void onEnded​(int workerId)
          +
          +
          Specified by:
          +
          onEnded in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onError

          +
          public void onError​(int workerId,
          +                    java.lang.String errorMessage)
          +
          +
          Specified by:
          +
          onError in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onResult

          +
          public void onResult​(int workerId,
          +                     worker.IProcessingResult processingResult)
          +
          +
          Specified by:
          +
          onResult in interface controller.IWorkerStatusListener
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/normal/package-summary.html b/docs/javadoc/bftsmart/tests/normal/package-summary.html new file mode 100644 index 000000000..68338fbb2 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/package-summary.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.tests.normal (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.normal

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/normal/package-tree.html b/docs/javadoc/bftsmart/tests/normal/package-tree.html new file mode 100644 index 000000000..98c7ca572 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/normal/package-tree.html @@ -0,0 +1,168 @@ + + + + + +bftsmart.tests.normal Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.normal

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/package-summary.html b/docs/javadoc/bftsmart/tests/package-summary.html new file mode 100644 index 000000000..7bece7ed0 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/package-summary.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.tests (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/package-tree.html b/docs/javadoc/bftsmart/tests/package-tree.html new file mode 100644 index 000000000..0d9ef3a37 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/package-tree.html @@ -0,0 +1,163 @@ + + + + + +bftsmart.tests Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/RecoveryEventProcessor.html b/docs/javadoc/bftsmart/tests/recovery/RecoveryEventProcessor.html new file mode 100644 index 000000000..c4547a1b0 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/RecoveryEventProcessor.html @@ -0,0 +1,403 @@ + + + + + +RecoveryEventProcessor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RecoveryEventProcessor

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      worker.IWorkerEventProcessor
      +
      +
      +
      public class RecoveryEventProcessor
      +extends java.lang.Object
      +implements worker.IWorkerEventProcessor
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RecoveryEventProcessor

          +
          public RecoveryEventProcessor()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          process

          +
          public void process​(java.lang.String line)
          +
          +
          Specified by:
          +
          process in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          startProcessing

          +
          public void startProcessing()
          +
          +
          Specified by:
          +
          startProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          stopProcessing

          +
          public void stopProcessing()
          +
          +
          Specified by:
          +
          stopProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          getProcessingResult

          +
          public worker.IProcessingResult getProcessingResult()
          +
          +
          Specified by:
          +
          getProcessingResult in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          isReady

          +
          public boolean isReady()
          +
          +
          Specified by:
          +
          isReady in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          ended

          +
          public boolean ended()
          +
          +
          Specified by:
          +
          ended in interface worker.IWorkerEventProcessor
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/RecoveryTest.html b/docs/javadoc/bftsmart/tests/recovery/RecoveryTest.html new file mode 100644 index 000000000..042789bf2 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/RecoveryTest.html @@ -0,0 +1,450 @@ + + + + + +RecoveryTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RecoveryTest

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/RecoveryTestClient.html b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestClient.html new file mode 100644 index 000000000..e7c45c4c7 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestClient.html @@ -0,0 +1,304 @@ + + + + + +RecoveryTestClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RecoveryTestClient

    +
    +
    + +
    +
      +
    • +
      +
      public class RecoveryTestClient
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        RecoveryTestClient() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RecoveryTestClient

          +
          public RecoveryTestClient()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/RecoveryTestServer.html b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestServer.html new file mode 100644 index 000000000..6cb4a2a9e --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestServer.html @@ -0,0 +1,459 @@ + + + + + +RecoveryTestServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RecoveryTestServer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RecoveryTestServer

          +
          public RecoveryTestServer​(int processId,
          +                          int stateSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + +
          +
        • +

          appExecuteOrdered

          +
          public byte[] appExecuteOrdered​(byte[] command,
          +                                MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteOrdered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The ordered request
          +
          msgCtx - The context associated to each request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] command,
          +                                  MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The unordered request
          +
          msgCtx - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultSingleRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/RecoveryTestStrategy.html b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestStrategy.html new file mode 100644 index 000000000..51a9c7fe8 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/RecoveryTestStrategy.html @@ -0,0 +1,391 @@ + + + + + +RecoveryTestStrategy (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RecoveryTestStrategy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
      +
      +
      public class RecoveryTestStrategy
      +extends java.lang.Object
      +implements controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidexecuteBenchmark​(controller.WorkerHandler[] workerHandlers, + java.util.Properties benchmarkParameters) 
        voidonEnded​(int workerId) 
        voidonError​(int workerId, + java.lang.String errorMessage) 
        voidonReady​(int workerId) 
        voidonResult​(int workerId, + worker.IProcessingResult processingResult) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RecoveryTestStrategy

          +
          public RecoveryTestStrategy()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeBenchmark

          +
          public void executeBenchmark​(controller.WorkerHandler[] workerHandlers,
          +                             java.util.Properties benchmarkParameters)
          +
          +
          Specified by:
          +
          executeBenchmark in interface controller.IBenchmarkStrategy
          +
          +
        • +
        + + + +
          +
        • +

          onReady

          +
          public void onReady​(int workerId)
          +
          +
          Specified by:
          +
          onReady in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onEnded

          +
          public void onEnded​(int workerId)
          +
          +
          Specified by:
          +
          onEnded in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onError

          +
          public void onError​(int workerId,
          +                    java.lang.String errorMessage)
          +
          +
          Specified by:
          +
          onError in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onResult

          +
          public void onResult​(int workerId,
          +                     worker.IProcessingResult processingResult)
          +
          +
          Specified by:
          +
          onResult in interface controller.IWorkerStatusListener
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/package-summary.html b/docs/javadoc/bftsmart/tests/recovery/package-summary.html new file mode 100644 index 000000000..139839ffd --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/package-summary.html @@ -0,0 +1,180 @@ + + + + + +bftsmart.tests.recovery (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.recovery

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/recovery/package-tree.html b/docs/javadoc/bftsmart/tests/recovery/package-tree.html new file mode 100644 index 000000000..ead19df2c --- /dev/null +++ b/docs/javadoc/bftsmart/tests/recovery/package-tree.html @@ -0,0 +1,173 @@ + + + + + +bftsmart.tests.recovery Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.recovery

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/AbstractRequestTest.html b/docs/javadoc/bftsmart/tests/requests/AbstractRequestTest.html new file mode 100644 index 000000000..d1e3c98b6 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/AbstractRequestTest.html @@ -0,0 +1,468 @@ + + + + + +AbstractRequestTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AbstractRequestTest

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/AbstractSimpleServiceClient.html b/docs/javadoc/bftsmart/tests/requests/AbstractSimpleServiceClient.html new file mode 100644 index 000000000..3ed43e0bf --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/AbstractSimpleServiceClient.html @@ -0,0 +1,318 @@ + + + + + +AbstractSimpleServiceClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AbstractSimpleServiceClient

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        AbstractSimpleServiceClient​(int clientId, + int numOperations, + int requestSize) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Abstract Methods 
        Modifier and TypeMethodDescription
        abstract booleanexecuteRequest​(byte[] data, + byte[] serializedWriteRequest, + byte[] serializedReadRequest, + ServiceProxy proxy) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractSimpleServiceClient

          +
          public AbstractSimpleServiceClient​(int clientId,
          +                                   int numOperations,
          +                                   int requestSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeRequest

          +
          public abstract boolean executeRequest​(byte[] data,
          +                                       byte[] serializedWriteRequest,
          +                                       byte[] serializedReadRequest,
          +                                       ServiceProxy proxy)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/RequestsTestStrategy.html b/docs/javadoc/bftsmart/tests/requests/RequestsTestStrategy.html new file mode 100644 index 000000000..ba13f77ef --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/RequestsTestStrategy.html @@ -0,0 +1,391 @@ + + + + + +RequestsTestStrategy (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RequestsTestStrategy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
      +
      +
      public class RequestsTestStrategy
      +extends java.lang.Object
      +implements controller.IBenchmarkStrategy, controller.IWorkerStatusListener
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidexecuteBenchmark​(controller.WorkerHandler[] workerHandlers, + java.util.Properties properties) 
        voidonEnded​(int workerId) 
        voidonError​(int workerId, + java.lang.String errorMessage) 
        voidonReady​(int workerId) 
        voidonResult​(int i, + worker.IProcessingResult iProcessingResult) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RequestsTestStrategy

          +
          public RequestsTestStrategy()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeBenchmark

          +
          public void executeBenchmark​(controller.WorkerHandler[] workerHandlers,
          +                             java.util.Properties properties)
          +
          +
          Specified by:
          +
          executeBenchmark in interface controller.IBenchmarkStrategy
          +
          +
        • +
        + + + +
          +
        • +

          onReady

          +
          public void onReady​(int workerId)
          +
          +
          Specified by:
          +
          onReady in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onEnded

          +
          public void onEnded​(int workerId)
          +
          +
          Specified by:
          +
          onEnded in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onError

          +
          public void onError​(int workerId,
          +                    java.lang.String errorMessage)
          +
          +
          Specified by:
          +
          onError in interface controller.IWorkerStatusListener
          +
          +
        • +
        + + + +
          +
        • +

          onResult

          +
          public void onResult​(int i,
          +                     worker.IProcessingResult iProcessingResult)
          +
          +
          Specified by:
          +
          onResult in interface controller.IWorkerStatusListener
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/SimpleServiceEventProcessor.html b/docs/javadoc/bftsmart/tests/requests/SimpleServiceEventProcessor.html new file mode 100644 index 000000000..31b407e33 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/SimpleServiceEventProcessor.html @@ -0,0 +1,403 @@ + + + + + +SimpleServiceEventProcessor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SimpleServiceEventProcessor

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      worker.IWorkerEventProcessor
      +
      +
      +
      public class SimpleServiceEventProcessor
      +extends java.lang.Object
      +implements worker.IWorkerEventProcessor
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SimpleServiceEventProcessor

          +
          public SimpleServiceEventProcessor()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          startProcessing

          +
          public void startProcessing()
          +
          +
          Specified by:
          +
          startProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          stopProcessing

          +
          public void stopProcessing()
          +
          +
          Specified by:
          +
          stopProcessing in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          getProcessingResult

          +
          public worker.IProcessingResult getProcessingResult()
          +
          +
          Specified by:
          +
          getProcessingResult in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          process

          +
          public void process​(java.lang.String line)
          +
          +
          Specified by:
          +
          process in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          isReady

          +
          public boolean isReady()
          +
          +
          Specified by:
          +
          isReady in interface worker.IWorkerEventProcessor
          +
          +
        • +
        + + + +
          +
        • +

          ended

          +
          public boolean ended()
          +
          +
          Specified by:
          +
          ended in interface worker.IWorkerEventProcessor
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/SimpleServiceServer.html b/docs/javadoc/bftsmart/tests/requests/SimpleServiceServer.html new file mode 100644 index 000000000..7f122a2ac --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/SimpleServiceServer.html @@ -0,0 +1,459 @@ + + + + + +SimpleServiceServer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SimpleServiceServer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SimpleServiceServer

          +
          public SimpleServiceServer​(int processId,
          +                           int stateSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + +
          +
        • +

          installSnapshot

          +
          public void installSnapshot​(byte[] state)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Given a snapshot received from the state transfer protocol, install it
          +
          +
          Specified by:
          +
          installSnapshot in class DefaultSingleRecoverable
          +
          Parameters:
          +
          state - The serialized snapshot
          +
          +
        • +
        + + + + + + + +
          +
        • +

          appExecuteOrdered

          +
          public byte[] appExecuteOrdered​(byte[] command,
          +                                MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute a batch of ordered requests
          +
          +
          Specified by:
          +
          appExecuteOrdered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The ordered request
          +
          msgCtx - The context associated to each request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        + + + +
          +
        • +

          appExecuteUnordered

          +
          public byte[] appExecuteUnordered​(byte[] command,
          +                                  MessageContext msgCtx)
          +
          Description copied from class: DefaultSingleRecoverable
          +
          Execute an unordered request
          +
          +
          Specified by:
          +
          appExecuteUnordered in class DefaultSingleRecoverable
          +
          Parameters:
          +
          command - The unordered request
          +
          msgCtx - The context associated to the request
          +
          Returns:
          +
          the reply for the request issued by the client
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedClient.html b/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedClient.html new file mode 100644 index 000000000..2eb1cb542 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedClient.html @@ -0,0 +1,337 @@ + + + + + +OrderedHashedClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class OrderedHashedClient

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        OrderedHashedClient​(int clientId, + int numOperations, + int requestSize) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanexecuteRequest​(byte[] data, + byte[] serializedWriteRequest, + byte[] serializedReadRequest, + ServiceProxy proxy) 
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          OrderedHashedClient

          +
          public OrderedHashedClient​(int clientId,
          +                           int numOperations,
          +                           int requestSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedRequestTest.html b/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedRequestTest.html new file mode 100644 index 000000000..184c9bbe3 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/OrderedHashedRequestTest.html @@ -0,0 +1,336 @@ + + + + + +OrderedHashedRequestTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class OrderedHashedRequestTest

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          OrderedHashedRequestTest

          +
          public OrderedHashedRequestTest​(java.lang.String workingDirectory,
          +                                int f,
          +                                boolean isBFT)
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedClient.html b/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedClient.html new file mode 100644 index 000000000..fd11604e4 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedClient.html @@ -0,0 +1,337 @@ + + + + + +UnorderedHashedClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class UnorderedHashedClient

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        UnorderedHashedClient​(int clientId, + int numOperations, + int requestSize) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanexecuteRequest​(byte[] data, + byte[] serializedWriteRequest, + byte[] serializedReadRequest, + ServiceProxy proxy) 
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UnorderedHashedClient

          +
          public UnorderedHashedClient​(int clientId,
          +                             int numOperations,
          +                             int requestSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedRequestTest.html b/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedRequestTest.html new file mode 100644 index 000000000..fe4a63df1 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/UnorderedHashedRequestTest.html @@ -0,0 +1,336 @@ + + + + + +UnorderedHashedRequestTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class UnorderedHashedRequestTest

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UnorderedHashedRequestTest

          +
          public UnorderedHashedRequestTest​(java.lang.String workingDirectory,
          +                                  int f,
          +                                  boolean isBFT)
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/package-summary.html b/docs/javadoc/bftsmart/tests/requests/hashed/package-summary.html new file mode 100644 index 000000000..e26ba3354 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/package-summary.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.tests.requests.hashed (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.requests.hashed

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/hashed/package-tree.html b/docs/javadoc/bftsmart/tests/requests/hashed/package-tree.html new file mode 100644 index 000000000..5980d751b --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/hashed/package-tree.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.tests.requests.hashed Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.requests.hashed

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/OrderedClient.html b/docs/javadoc/bftsmart/tests/requests/normal/OrderedClient.html new file mode 100644 index 000000000..baf3ac437 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/OrderedClient.html @@ -0,0 +1,337 @@ + + + + + +OrderedClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class OrderedClient

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        OrderedClient​(int clientId, + int numOperations, + int requestSize) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanexecuteRequest​(byte[] data, + byte[] serializedWriteRequest, + byte[] serializedReadRequest, + ServiceProxy proxy) 
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          OrderedClient

          +
          public OrderedClient​(int clientId,
          +                     int numOperations,
          +                     int requestSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/OrderedRequestTest.html b/docs/javadoc/bftsmart/tests/requests/normal/OrderedRequestTest.html new file mode 100644 index 000000000..fcad7ece5 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/OrderedRequestTest.html @@ -0,0 +1,336 @@ + + + + + +OrderedRequestTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class OrderedRequestTest

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          OrderedRequestTest

          +
          public OrderedRequestTest​(java.lang.String workingDirectory,
          +                          int f,
          +                          boolean isBFT)
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/UnorderedClient.html b/docs/javadoc/bftsmart/tests/requests/normal/UnorderedClient.html new file mode 100644 index 000000000..7dca87910 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/UnorderedClient.html @@ -0,0 +1,337 @@ + + + + + +UnorderedClient (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class UnorderedClient

    +
    +
    + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        UnorderedClient​(int clientId, + int numOperations, + int requestSize) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanexecuteRequest​(byte[] data, + byte[] serializedWriteRequest, + byte[] serializedReadRequest, + ServiceProxy proxy) 
        static voidmain​(java.lang.String[] args) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UnorderedClient

          +
          public UnorderedClient​(int clientId,
          +                       int numOperations,
          +                       int requestSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          main

          +
          public static void main​(java.lang.String[] args)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/UnorderedRequestTest.html b/docs/javadoc/bftsmart/tests/requests/normal/UnorderedRequestTest.html new file mode 100644 index 000000000..07c30cd00 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/UnorderedRequestTest.html @@ -0,0 +1,336 @@ + + + + + +UnorderedRequestTest (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class UnorderedRequestTest

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UnorderedRequestTest

          +
          public UnorderedRequestTest​(java.lang.String workingDirectory,
          +                            int f,
          +                            boolean isBFT)
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/package-summary.html b/docs/javadoc/bftsmart/tests/requests/normal/package-summary.html new file mode 100644 index 000000000..2ec9df09e --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/package-summary.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.tests.requests.normal (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.requests.normal

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/normal/package-tree.html b/docs/javadoc/bftsmart/tests/requests/normal/package-tree.html new file mode 100644 index 000000000..f9678f4b4 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/normal/package-tree.html @@ -0,0 +1,176 @@ + + + + + +bftsmart.tests.requests.normal Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.requests.normal

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/package-summary.html b/docs/javadoc/bftsmart/tests/requests/package-summary.html new file mode 100644 index 000000000..88d38d43e --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/package-summary.html @@ -0,0 +1,180 @@ + + + + + +bftsmart.tests.requests (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.requests

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/requests/package-tree.html b/docs/javadoc/bftsmart/tests/requests/package-tree.html new file mode 100644 index 000000000..5b2437ad7 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/requests/package-tree.html @@ -0,0 +1,173 @@ + + + + + +bftsmart.tests.requests Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.requests

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/util/ErrorPrinter.html b/docs/javadoc/bftsmart/tests/util/ErrorPrinter.html new file mode 100644 index 000000000..52bb69ec9 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/util/ErrorPrinter.html @@ -0,0 +1,320 @@ + + + + + +ErrorPrinter (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ErrorPrinter

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public class ErrorPrinter
      +extends java.lang.Thread
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidrun() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/util/Operation.html b/docs/javadoc/bftsmart/tests/util/Operation.html new file mode 100644 index 000000000..4f69b469c --- /dev/null +++ b/docs/javadoc/bftsmart/tests/util/Operation.html @@ -0,0 +1,432 @@ + + + + + +Operation (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Operation

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable, java.lang.Comparable<Operation>
      +
      +
      +
      public enum Operation
      +extends java.lang.Enum<Operation>
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Summary

        + + + + + + + + + + + + + + +
        Enum Constants 
        Enum ConstantDescription
        GET 
        PUT 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static Operation[]values 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static OperationgetOperation​(int ordinal) 
        static OperationvalueOf​(java.lang.String name) +
        Returns the enum constant of this type with the specified name.
        +
        static Operation[]values() +
        Returns an array containing the constants of this enum type, in +the order they are declared.
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Enum

          +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +getClass, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Operation[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Operation c : Operation.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Operation valueOf​(java.lang.String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
          +
          java.lang.NullPointerException - if the argument is null
          +
          +
        • +
        + + + +
          +
        • +

          getOperation

          +
          public static Operation getOperation​(int ordinal)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/util/ProcessExecutor.html b/docs/javadoc/bftsmart/tests/util/ProcessExecutor.html new file mode 100644 index 000000000..9b5030b3f --- /dev/null +++ b/docs/javadoc/bftsmart/tests/util/ProcessExecutor.html @@ -0,0 +1,382 @@ + + + + + +ProcessExecutor (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ProcessExecutor

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public class ProcessExecutor
      +extends java.lang.Thread
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        ProcessExecutor​(java.lang.String workingDirectory, + java.lang.String command, + boolean printOutputStream) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidinterrupt() 
        voidrun() 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ProcessExecutor

          +
          public ProcessExecutor​(java.lang.String workingDirectory,
          +                       java.lang.String command,
          +                       boolean printOutputStream)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          run

          +
          public void run()
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        + + + +
          +
        • +

          interrupt

          +
          public void interrupt()
          +
          +
          Overrides:
          +
          interrupt in class java.lang.Thread
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tests/util/package-summary.html b/docs/javadoc/bftsmart/tests/util/package-summary.html new file mode 100644 index 000000000..d315bba46 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/util/package-summary.html @@ -0,0 +1,183 @@ + + + + + +bftsmart.tests.util (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tests.util

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tests/util/package-tree.html b/docs/javadoc/bftsmart/tests/util/package-tree.html new file mode 100644 index 000000000..4fe4eb395 --- /dev/null +++ b/docs/javadoc/bftsmart/tests/util/package-tree.html @@ -0,0 +1,180 @@ + + + + + +bftsmart.tests.util Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tests.util

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +

    Enum Hierarchy

    +
      +
    • java.lang.Object +
        +
      • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
      • +
      +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/AsynchServiceProxy.html b/docs/javadoc/bftsmart/tom/AsynchServiceProxy.html new file mode 100644 index 000000000..979252e85 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/AsynchServiceProxy.html @@ -0,0 +1,525 @@ + + + + + +AsynchServiceProxy (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package bftsmart.tom
    +

    Class AsynchServiceProxy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      ReplyReceiver, java.io.Closeable, java.lang.AutoCloseable
      +
      +
      +
      public class AsynchServiceProxy
      +extends ServiceProxy
      +
      This class is an extension of 'ServiceProxy' that can waits for replies + asynchronously.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AsynchServiceProxy

          +
          public AsynchServiceProxy​(int processId)
          +
          Constructor
          +
          +
          See Also:
          +
          bellow
          +
          +
        • +
        + + + +
          +
        • +

          AsynchServiceProxy

          +
          public AsynchServiceProxy​(int processId,
          +                          java.lang.String configHome)
          +
          Constructor
          +
          +
          See Also:
          +
          bellow
          +
          +
        • +
        + + + +
          +
        • +

          AsynchServiceProxy

          +
          public AsynchServiceProxy​(int processId,
          +                          java.lang.String configHome,
          +                          KeyLoader loader)
          +
          Constructor
          +
          +
          See Also:
          +
          bellow
          +
          +
        • +
        + + + +
          +
        • +

          AsynchServiceProxy

          +
          public AsynchServiceProxy​(int processId,
          +                          java.lang.String configHome,
          +                          java.util.Comparator<byte[]> replyComparator,
          +                          Extractor replyExtractor,
          +                          KeyLoader loader)
          +
          Constructor
          +
          +
          Parameters:
          +
          processId - Process id for this client (should be different from replicas)
          +
          configHome - Configuration directory for BFT-SMART
          +
          replyComparator - Used for comparing replies from different servers + to extract one returned by f+1
          +
          replyExtractor - Used for extracting the response from the matching + quorum of replies
          +
          loader - Used to load signature keys from disk
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          invokeAsynchRequest

          +
          public int invokeAsynchRequest​(byte[] request,
          +                               ReplyListener replyListener,
          +                               TOMMessageType reqType)
          +
          +
          See Also:
          +
          bellow
          +
          +
        • +
        + + + +
          +
        • +

          invokeAsynchRequest

          +
          public int invokeAsynchRequest​(byte[] request,
          +                               int[] targets,
          +                               ReplyListener replyListener,
          +                               TOMMessageType reqType)
          +
          This method asynchronously sends a request to the replicas.
          +
          +
          Parameters:
          +
          request - Request to be sent
          +
          targets - The IDs for the replicas to which to send the request
          +
          replyListener - Callback object that handles reception of replies
          +
          reqType - Request type
          +
          Returns:
          +
          A unique identification for the request
          +
          +
        • +
        + + + +
          +
        • +

          cleanAsynchRequest

          +
          public void cleanAsynchRequest​(int requestId)
          +
          Purges all information associated to the request. + This should always be invoked once enough replies are received and processed by the ReplyListener callback.
          +
          +
          Parameters:
          +
          requestId - A unique identification for a previously sent request
          +
          +
        • +
        + + + +
          +
        • +

          replyReceived

          +
          public void replyReceived​(TOMMessage reply)
          +
          This is the method invoked by the client side communication system.
          +
          +
          Specified by:
          +
          replyReceived in interface ReplyReceiver
          +
          Overrides:
          +
          replyReceived in class ServiceProxy
          +
          Parameters:
          +
          reply - The reply delivered by the client side communication system
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/doc/bftsmart/tom/MessageContext.html b/docs/javadoc/bftsmart/tom/MessageContext.html similarity index 61% rename from doc/bftsmart/tom/MessageContext.html rename to docs/javadoc/bftsmart/tom/MessageContext.html index 816b4a979..677337bcd 100644 --- a/doc/bftsmart/tom/MessageContext.html +++ b/docs/javadoc/bftsmart/tom/MessageContext.html @@ -1,43 +1,57 @@ - + - + - -MessageContext - + +MessageContext (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    bftsmart.tom
    +
    Package bftsmart.tom

    Class MessageContext

    @@ -108,10 +132,9 @@

    Class MessageContext

  • All Implemented Interfaces:
    -
    java.io.Serializable
    +
    java.io.Serializable

    -
    public class MessageContext
     extends java.lang.Object
     implements java.io.Serializable
    @@ -129,39 +152,45 @@

    Class MessageContext

  • @@ -339,12 +392,13 @@

    Methods inherited from class java.lang.Object

    +
    + diff --git a/doc/bftsmart/tom/ReplicaContext.html b/docs/javadoc/bftsmart/tom/ReplicaContext.html similarity index 54% rename from doc/bftsmart/tom/ReplicaContext.html rename to docs/javadoc/bftsmart/tom/ReplicaContext.html index 463d7f2bd..122324b82 100644 --- a/doc/bftsmart/tom/ReplicaContext.html +++ b/docs/javadoc/bftsmart/tom/ReplicaContext.html @@ -1,43 +1,57 @@ - + - + - -ReplicaContext - + +ReplicaContext (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    bftsmart.tom
    +
    Package bftsmart.tom

    Class ReplicaContext

    @@ -107,7 +131,6 @@

    Class ReplicaContext

    @@ -190,19 +224,20 @@

    Methods inherited from class java.lang.Object

    +
    + diff --git a/doc/bftsmart/tom/RequestContext.html b/docs/javadoc/bftsmart/tom/RequestContext.html similarity index 59% rename from doc/bftsmart/tom/RequestContext.html rename to docs/javadoc/bftsmart/tom/RequestContext.html index a21d34c78..9b4e8ac63 100644 --- a/doc/bftsmart/tom/RequestContext.html +++ b/docs/javadoc/bftsmart/tom/RequestContext.html @@ -1,43 +1,57 @@ - + - + - -RequestContext - + +RequestContext (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    bftsmart.tom
    +
    Package bftsmart.tom

    Class RequestContext

    @@ -107,7 +131,6 @@

    Class RequestContext

    @@ -213,23 +250,24 @@

    Methods inherited from class java.lang.Object

    +
    + diff --git a/doc/bftsmart/tom/ServiceProxy.html b/docs/javadoc/bftsmart/tom/ServiceProxy.html similarity index 53% rename from doc/bftsmart/tom/ServiceProxy.html rename to docs/javadoc/bftsmart/tom/ServiceProxy.html index b97415b99..f1c013141 100644 --- a/doc/bftsmart/tom/ServiceProxy.html +++ b/docs/javadoc/bftsmart/tom/ServiceProxy.html @@ -1,43 +1,57 @@ - + - + - -ServiceProxy - + +ServiceProxy (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    bftsmart.tom
    +
    Package bftsmart.tom

    Class ServiceProxy

    @@ -99,7 +123,7 @@

    Class ServiceProxy

  • java.lang.Object
    • -
    • bftsmart.tom.core.TOMSender
    • +
    • bftsmart.tom.core.TOMSender
      • bftsmart.tom.ServiceProxy
      • @@ -113,16 +137,15 @@

        Class ServiceProxy

      • All Implemented Interfaces:
        -
        bftsmart.communication.client.ReplyReceiver, java.io.Closeable, java.lang.AutoCloseable
        +
        ReplyReceiver, java.io.Closeable, java.lang.AutoCloseable
        Direct Known Subclasses:
        -
        AsynchServiceProxy
        +
        AsynchServiceProxy

        -
        public class ServiceProxy
        -extends bftsmart.tom.core.TOMSender
        +extends TOMSender
        This class implements a TOMSender and represents a proxy to be used on the client side of the replicated system. It sends a request to the replicas, receives the reply, and delivers it to @@ -134,162 +157,183 @@

        Class ServiceProxy

        @@ -304,12 +349,13 @@

        Methods inherited from class java.lang.Object

        • +
            -
          • +
          • Field Detail

            - +
              @@ -318,7 +364,7 @@

              canReceiveLock

              protected java.util.concurrent.locks.ReentrantLock canReceiveLock
            - +
              @@ -329,68 +375,70 @@

              canSendLock

          +
          +
          +
          +
            -
          • +
          • Method Detail

            - +
            • getInvokeTimeout

              -
              public int getInvokeTimeout()
              +
              public int getInvokeTimeout()
              Get the amount of time (in seconds) that this proxy will wait for servers replies before returning null.
              @@ -427,13 +477,13 @@

              getInvokeTimeout

            - +
            • getInvokeUnorderedHashedTimeout

              -
              public int getInvokeUnorderedHashedTimeout()
              +
              public int getInvokeUnorderedHashedTimeout()
              Get the amount of time (in seconds) that this proxy will wait for servers unordered hashed replies before returning null.
              @@ -442,13 +492,13 @@

              getInvokeUnorderedHashedTimeout

            - +
            • setInvokeTimeout

              -
              public void setInvokeTimeout(int invokeTimeout)
              +
              public void setInvokeTimeout​(int invokeTimeout)
              Set the amount of time (in seconds) that this proxy will wait for servers replies before returning null.
              @@ -457,13 +507,13 @@

              setInvokeTimeout

            - +
            • setInvokeUnorderedHashedTimeout

              -
              public void setInvokeUnorderedHashedTimeout(int timeout)
              +
              public void setInvokeUnorderedHashedTimeout​(int timeout)
              Set the amount of time (in seconds) that this proxy will wait for servers unordered hashed replies before returning null.
              @@ -472,13 +522,13 @@

              setInvokeUnorderedHashedTimeout

            - +
            • invokeOrdered

              -
              public byte[] invokeOrdered(byte[] request)
              +
              public byte[] invokeOrdered​(byte[] request)
              This method sends an ordered request to the replicas, and returns the related reply. If the servers take more than invokeTimeout seconds the method returns null. This method is thread-safe.
              @@ -490,13 +540,22 @@

              invokeOrdered

            - + + + +
              +
            • +

              invokeOrderedHashed

              +
              public byte[] invokeOrderedHashed​(byte[] request)
              +
            • +
            +
            • invokeUnordered

              -
              public byte[] invokeUnordered(byte[] request)
              +
              public byte[] invokeUnordered​(byte[] request)
              This method sends an unordered request to the replicas, and returns the related reply. If the servers take more than invokeTimeout seconds the method returns null. This method is thread-safe.
              @@ -508,13 +567,13 @@

              invokeUnordered

            - +
            • invokeUnorderedHashed

              -
              public byte[] invokeUnorderedHashed(byte[] request)
              +
              public byte[] invokeUnorderedHashed​(byte[] request)
              This method sends an unordered request to the replicas, and returns the related reply. This method chooses randomly one replica to send the complete response, while the others only send a hash of that response. @@ -528,44 +587,43 @@

              invokeUnorderedHashed

            - +
            • invoke

              -
              public byte[] invoke(byte[] request,
              -                     bftsmart.tom.core.messages.TOMMessageType reqType)
              +
              public byte[] invoke​(byte[] request,
              +                     TOMMessageType reqType)
              This method sends a request to the replicas, and returns the related reply. If the servers take more than invokeTimeout seconds the method returns null. This method is thread-safe.
              Parameters:
              request - Request to be sent
              -
              reqType - ORDERED_REQUEST/UNORDERED_REQUEST/UNORDERED_HASHED_REQUEST for normal requests, and RECONFIG for - reconfiguration requests.
              +
              reqType - ORDERED_REQUEST/ORDERED_HASHED_REQUEST/UNORDERED_REQUEST/UNORDERED_HASHED_REQUEST + for normal requests, and RECONFIG for reconfiguration requests.
              Returns:
              The reply from the replicas related to request
            - +
            • reconfigureTo

              -
              protected void reconfigureTo(bftsmart.reconfiguration.views.View v)
              -
              Deprecated. 
              +
              protected void reconfigureTo​(View v)
            - + -
              +
              • replyReceived

                -
                public void replyReceived(bftsmart.tom.core.messages.TOMMessage reply)
                +
                public void replyReceived​(TOMMessage reply)
                This is the method invoked by the client side communication system.
                Parameters:
                @@ -573,37 +631,27 @@

                replyReceived

              - - - -
                -
              • -

                getReplyQuorum

                -
                protected int getReplyQuorum()
                -
                Retrieves the required quorum size for the amount of replies
                -
                -
                Returns:
                -
                The quorum size for the amount of replies
                -
                -
              • -
            +
  • +
    + diff --git a/docs/javadoc/bftsmart/tom/ServiceReplica.html b/docs/javadoc/bftsmart/tom/ServiceReplica.html new file mode 100644 index 000000000..deaebaa6a --- /dev/null +++ b/docs/javadoc/bftsmart/tom/ServiceReplica.html @@ -0,0 +1,591 @@ + + + + + +ServiceReplica (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    Package bftsmart.tom
    +

    Class ServiceReplica

    +
    +
    + +
    +
      +
    • +
      +
      public class ServiceReplica
      +extends java.lang.Object
      +
      This class receives messages from DeliveryThread and manages the execution + from the application and reply to the clients. For applications where the + ordered messages are executed one by one, ServiceReplica receives the batch + decided in a consensus, deliver one by one and reply with the batch of + replies. In cases where the application executes the messages in batches, the + batch of messages is delivered to the application and ServiceReplica doesn't + need to organize the replies in batches.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ServiceReplica

          +
          public ServiceReplica​(int id,
          +                      Executable executor,
          +                      Recoverable recoverer)
          +
          Constructor
          +
          +
          Parameters:
          +
          id - Replica ID
          +
          executor - Executor
          +
          recoverer - Recoverer
          +
          +
        • +
        + + + +
          +
        • +

          ServiceReplica

          +
          public ServiceReplica​(int id,
          +                      Executable executor,
          +                      Recoverable recoverer,
          +                      RequestVerifier verifier)
          +
          Constructor
          +
          +
          Parameters:
          +
          id - Replica ID
          +
          executor - Executor
          +
          recoverer - Recoverer
          +
          verifier - Requests verifier
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          ServiceReplica

          +
          public ServiceReplica​(int id,
          +                      java.lang.String configHome,
          +                      Executable executor,
          +                      Recoverable recoverer,
          +                      RequestVerifier verifier,
          +                      Replier replier,
          +                      KeyLoader loader)
          +
          Constructor
          +
          +
          Parameters:
          +
          id - Replica ID
          +
          configHome - Configuration directory for BFT-SMART
          +
          executor - The executor implementation
          +
          recoverer - The recoverer implementation
          +
          verifier - Requests Verifier
          +
          replier - Can be used to override the targets of the replies associated to each request.
          +
          loader - Used to load signature keys from disk
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          joinMsgReceived

          +
          public void joinMsgReceived​(VMMessage msg)
          +
        • +
        + + + +
          +
        • +

          receiveReadonlyMessage

          +
          public final void receiveReadonlyMessage​(TOMMessage message,
          +                                         MessageContext msgCtx)
          +
        • +
        + + + +
          +
        • +

          kill

          +
          public void kill()
          +
          Stops the service execution at a replica. It will shutdown all threads, stop the requests' timer, and drop all enqueued requests, + thus letting the ServiceReplica object be garbage-collected. From the perspective of the rest of the system, this is equivalent + to a simple crash fault.
          +
        • +
        + + + +
          +
        • +

          restart

          +
          public void restart()
          +
          Cleans the object state and reboots execution. From the perspective of the rest of the system, + this is equivalent to a rash followed by a recovery.
          +
        • +
        + + + +
          +
        • +

          receiveMessages

          +
          public void receiveMessages​(int[] consId,
          +                            int[] regencies,
          +                            int[] leaders,
          +                            CertifiedDecision[] cDecs,
          +                            TOMMessage[][] requests)
          +
        • +
        + + + +
          +
        • +

          getReplicaContext

          +
          public final ReplicaContext getReplicaContext()
          +
          Obtains the current replica context (getting access to several + information and capabilities of the replication engine).
          +
          +
          Returns:
          +
          this replica context
          +
          +
        • +
        + + + +
          +
        • +

          getServerCommunicationSystem

          +
          public ServerCommunicationSystem getServerCommunicationSystem()
          +
          Obtains the current replica communication system.
          +
          +
          Returns:
          +
          The replica's communication system
          +
          +
        • +
        + + + +
          +
        • +

          getId

          +
          public int getId()
          +
          Replica ID
          +
          +
          Returns:
          +
          Replica ID
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/client/AbstractRequestHandler.html b/docs/javadoc/bftsmart/tom/client/AbstractRequestHandler.html new file mode 100644 index 000000000..d04ef3f02 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/client/AbstractRequestHandler.html @@ -0,0 +1,640 @@ + + + + + +AbstractRequestHandler (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AbstractRequestHandler

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          logger

          +
          protected final org.slf4j.Logger logger
          +
        • +
        + + + +
          +
        • +

          me

          +
          protected final int me
          +
        • +
        + + + +
          +
        • +

          session

          +
          protected final int session
          +
        • +
        + + + +
          +
        • +

          sequenceId

          +
          protected final int sequenceId
          +
        • +
        + + + +
          +
        • +

          operationId

          +
          protected final int operationId
          +
        • +
        + + + +
          +
        • +

          viewId

          +
          protected final int viewId
          +
        • +
        + + + + + + + +
          +
        • +

          replies

          +
          protected final TOMMessage[] replies
          +
        • +
        + + + +
          +
        • +

          replyQuorumSize

          +
          protected final int replyQuorumSize
          +
        • +
        + + + +
          +
        • +

          replySenders

          +
          protected java.util.Set<java.lang.Integer> replySenders
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractRequestHandler

          +
          public AbstractRequestHandler​(int me,
          +                              int session,
          +                              int sequenceId,
          +                              int operationId,
          +                              int viewId,
          +                              TOMMessageType requestType,
          +                              int timeout,
          +                              int[] replicas,
          +                              int replyQuorumSize)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          createRequest

          +
          public abstract TOMMessage createRequest​(byte[] request)
          +
        • +
        + + + +
          +
        • +

          waitForResponse

          +
          public void waitForResponse()
          +                     throws java.lang.InterruptedException
          +
          +
          Throws:
          +
          java.lang.InterruptedException
          +
          +
        • +
        + + + +
          +
        • +

          getResponse

          +
          public TOMMessage getResponse()
          +
          This method returns the response. + Call this method after calling waitForResponse() method.
          +
          +
          Returns:
          +
          Response to the request
          +
          +
        • +
        + + + +
          +
        • +

          processReply

          +
          public void processReply​(TOMMessage reply)
          +
        • +
        + + + +
          +
        • +

          processReply

          +
          public abstract TOMMessage processReply​(TOMMessage reply,
          +                                        int lastSenderIndex)
          +
        • +
        + + + +
          +
        • +

          getSequenceId

          +
          public int getSequenceId()
          +
        • +
        + + + +
          +
        • +

          getNumberReceivedReplies

          +
          public int getNumberReceivedReplies()
          +
        • +
        + + + +
          +
        • +

          getReplyQuorumSize

          +
          public int getReplyQuorumSize()
          +
        • +
        + + + +
          +
        • +

          isRequestTimeout

          +
          public boolean isRequestTimeout()
          +
          Call this method after calling waitForResponse().
          +
          +
          Returns:
          +
          true if request timeout or false otherwise.
          +
          +
        • +
        + + + +
          +
        • +

          printState

          +
          public abstract void printState()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/client/HashedRequestHandler.html b/docs/javadoc/bftsmart/tom/client/HashedRequestHandler.html new file mode 100644 index 000000000..4ccb7c507 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/client/HashedRequestHandler.html @@ -0,0 +1,393 @@ + + + + + +HashedRequestHandler (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class HashedRequestHandler

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/client/NormalRequestHandler.html b/docs/javadoc/bftsmart/tom/client/NormalRequestHandler.html new file mode 100644 index 000000000..d31de1ce6 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/client/NormalRequestHandler.html @@ -0,0 +1,395 @@ + + + + + +NormalRequestHandler (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class NormalRequestHandler

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/client/package-summary.html b/docs/javadoc/bftsmart/tom/client/package-summary.html new file mode 100644 index 000000000..94fe78af4 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/client/package-summary.html @@ -0,0 +1,172 @@ + + + + + +bftsmart.tom.client (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tom.client

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/client/package-tree.html b/docs/javadoc/bftsmart/tom/client/package-tree.html new file mode 100644 index 000000000..4983884d4 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/client/package-tree.html @@ -0,0 +1,166 @@ + + + + + +bftsmart.tom.client Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tom.client

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/core/DeliveryThread.html b/docs/javadoc/bftsmart/tom/core/DeliveryThread.html new file mode 100644 index 000000000..a81bb1483 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/DeliveryThread.html @@ -0,0 +1,554 @@ + + + + + +DeliveryThread (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DeliveryThread

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.lang.Runnable
      +
      +
      +
      public final class DeliveryThread
      +extends java.lang.Thread
      +
      This class implements a thread which will deliver totally ordered requests to + the application
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        +
          +
        • + + +

          Nested classes/interfaces inherited from class java.lang.Thread

          +java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class java.lang.Thread

          +MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods Deprecated Methods 
        Modifier and TypeMethodDescription
        voidcanDeliver() +
        This method is used to restart the decision delivery after awaiting a state.
        +
        voiddeliverLock() +
        Deprecated. +
        This method does not always work when the replica was already delivering decisions.
        +
        +
        voiddeliverUnlock() +
        Deprecated. +
        Replaced by resumeDecisionDelivery() to work in pair with pauseDecisionDelivery().
        +
        +
        voiddeliverUnordered​(TOMMessage request, + int regency) 
        voiddelivery​(Decision dec) +
        Invoked by the TOM layer, to deliver a decision
        +
        RecoverablegetRecoverer() 
        voidpauseDecisionDelivery() +
        Pause the decision delivery.
        +
        voidresumeDecisionDelivery() 
        voidrun() +
        This is the code for the thread.
        +
        voidshutdown() 
        voidupdate​(ApplicationState state) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Thread

          +activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
        • +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DeliveryThread

          +
          public DeliveryThread​(TOMLayer tomLayer,
          +                      ServiceReplica receiver,
          +                      Recoverable recoverer,
          +                      ServerViewController controller)
          +
          Creates a new instance of DeliveryThread
          +
          +
          Parameters:
          +
          tomLayer - TOM layer
          +
          receiver - Object that receives requests from clients
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRecoverer

          +
          public Recoverable getRecoverer()
          +
        • +
        + + + +
          +
        • +

          delivery

          +
          public void delivery​(Decision dec)
          +
          Invoked by the TOM layer, to deliver a decision
          +
          +
          Parameters:
          +
          dec - Decision established from the consensus
          +
          +
        • +
        + + + +
          +
        • +

          deliverLock

          +
          @Deprecated
          +public void deliverLock()
          +
          Deprecated. +
          This method does not always work when the replica was already delivering decisions. + This method is replaced by pauseDecisionDelivery(). + Internally, the current implementation of this method uses pauseDecisionDelivery().
          +
          +
        • +
        + + + + + + + +
          +
        • +

          pauseDecisionDelivery

          +
          public void pauseDecisionDelivery()
          +
          Pause the decision delivery.
          +
        • +
        + + + +
          +
        • +

          resumeDecisionDelivery

          +
          public void resumeDecisionDelivery()
          +
        • +
        + + + +
          +
        • +

          canDeliver

          +
          public void canDeliver()
          +
          This method is used to restart the decision delivery after awaiting a state.
          +
        • +
        + + + + + + + +
          +
        • +

          run

          +
          public void run()
          +
          This is the code for the thread. It delivers decisions to the TOM request + receiver object (which is the application)
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        + + + +
          +
        • +

          deliverUnordered

          +
          public void deliverUnordered​(TOMMessage request,
          +                             int regency)
          +
        • +
        + + + +
          +
        • +

          shutdown

          +
          public void shutdown()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/ExecutionManager.html b/docs/javadoc/bftsmart/tom/core/ExecutionManager.html new file mode 100644 index 000000000..440265b30 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/ExecutionManager.html @@ -0,0 +1,835 @@ + + + + + +ExecutionManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ExecutionManager

    +
    +
    + +
    +
      +
    • +
      +
      public final class ExecutionManager
      +extends java.lang.Object
      +
      This class manages consensus instances. It can have several epochs if + there were problems during consensus.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ExecutionManager

          +
          public ExecutionManager​(ServerViewController controller,
          +                        Acceptor acceptor,
          +                        Proposer proposer,
          +                        int me)
          +
          Creates a new instance of ExecutionManager
          +
          +
          Parameters:
          +
          controller -
          +
          acceptor - Acceptor role of the PaW algorithm
          +
          proposer - Proposer role of the PaW algorithm
          +
          me - This process ID
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setNewLeader

          +
          public void setNewLeader​(int leader)
          +
          Set the current leader
          +
          +
          Parameters:
          +
          leader - Current leader
          +
          +
        • +
        + + + +
          +
        • +

          getCurrentLeader

          +
          public int getCurrentLeader()
          +
          Get the current leader
          +
          +
          Returns:
          +
          Current leader
          +
          +
        • +
        + + + +
          +
        • +

          setTOMLayer

          +
          public void setTOMLayer​(TOMLayer tom)
          +
          Sets the TOM layer associated with this execution manager
          +
          +
          Parameters:
          +
          tom - The TOM layer associated with this execution manager
          +
          +
        • +
        + + + +
          +
        • +

          getTOMLayer

          +
          public TOMLayer getTOMLayer()
          +
          Returns the TOM layer associated with this execution manager
          +
          +
          Returns:
          +
          The TOM layer associated with this execution manager
          +
          +
        • +
        + + + +
          +
        • +

          getAcceptor

          +
          public Acceptor getAcceptor()
          +
          Returns the acceptor role of the PaW algorithm
          +
          +
          Returns:
          +
          The acceptor role of the PaW algorithm
          +
          +
        • +
        + + + +
          +
        • +

          getProposer

          +
          public Proposer getProposer()
          +
        • +
        + + + +
          +
        • +

          stopped

          +
          public boolean stopped()
          +
        • +
        + + + +
          +
        • +

          hasMsgs

          +
          public boolean hasMsgs()
          +
        • +
        + + + +
          +
        • +

          getStoppedMsgs

          +
          public java.util.Queue<ConsensusMessage> getStoppedMsgs()
          +
        • +
        + + + +
          +
        • +

          clearStopped

          +
          public void clearStopped()
          +
        • +
        + + + +
          +
        • +

          stop

          +
          public void stop()
          +
          Stops this execution manager
          +
        • +
        + + + +
          +
        • +

          restart

          +
          public void restart()
          +
          Restarts this execution manager
          +
        • +
        + + + +
          +
        • +

          checkLimits

          +
          public final boolean checkLimits​(ConsensusMessage msg)
          +
          Checks if this message can execute now. If it is not possible, + it is stored in outOfContextMessages
          +
          +
          Parameters:
          +
          msg - the received message
          +
          Returns:
          +
          true in case the message can be executed, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          receivedOutOfContextPropose

          +
          public boolean receivedOutOfContextPropose​(int cid)
          +
          Informs if there are messages till to be processed associated the specified consensus
          +
          +
          Parameters:
          +
          cid - The ID for the consensus in question
          +
          Returns:
          +
          True if there are still messages to be processed, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          receivedOutOfContextDecision

          +
          public boolean receivedOutOfContextDecision​(int cid)
          +
        • +
        + + + +
          +
        • +

          removeConsensus

          +
          public Consensus removeConsensus​(int id)
          +
          Removes a consensus from this manager
          +
          +
          Parameters:
          +
          id - ID of the consensus to be removed
          +
          Returns:
          +
          The consensus that was removed
          +
          +
        • +
        + + + +
          +
        • +

          removeOutOfContexts

          +
          public void removeOutOfContexts​(int id)
          +
          THIS IS JOAO'S CODE, FOR HANDLING THE STATE TRANSFER
          +
        • +
        + + + +
          +
        • +

          getConsensus

          +
          public Consensus getConsensus​(int cid)
          +
          Returns the specified consensus
          +
          +
          Parameters:
          +
          cid - ID of the consensus to be returned
          +
          Returns:
          +
          The consensus specified
          +
          +
        • +
        + + + +
          +
        • +

          isDecidable

          +
          public boolean isDecidable​(int cid)
          +
        • +
        + + + +
          +
        • +

          processOutOfContextPropose

          +
          public void processOutOfContextPropose​(Consensus consensus)
          +
        • +
        + + + +
          +
        • +

          processOutOfContextDecision

          +
          public void processOutOfContextDecision​(Consensus consensus)
          +
          Process a forwarded decision message that was received in a specific consensus instance
          +
          +
          Parameters:
          +
          consensus - consensus instance
          +
          +
        • +
        + + + +
          +
        • +

          processOutOfContext

          +
          public void processOutOfContext​(Consensus consensus)
          +
        • +
        + + + +
          +
        • +

          addOutOfContextMessage

          +
          public void addOutOfContextMessage​(ConsensusMessage m)
          +
          Stores a message established as being out of context (a message that + doesn't belong to current executing consensus).
          +
          +
          Parameters:
          +
          m - Out of context message to be stored
          +
          +
        • +
        + + + +
          +
        • +

          checkRequestDecision

          +
          public int[] checkRequestDecision​(Epoch epoch,
          +                                  ConsensusMessage message)
          +
          This method checks if a decision should be requested from other replicas. The result will be either "null" that is + if is not necessary to ask others about a decision yet, or an array containing the target ids of replicas which + are being asked to forward a decision.
          +
          +
          Parameters:
          +
          epoch - the current epoch
          +
          message - the last ACCEPT received
          +
          Returns:
          +
          array of targets to ask for a decision or null if it's not necessary
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          addToForward

          +
          public void addToForward​(int cid,
          +                         int replica)
          +
        • +
        + + + +
          +
        • +

          getToForward

          +
          public int[] getToForward​(int cid)
          +
        • +
        + + + +
          +
        • +

          addForwarded

          +
          public void addForwarded​(int cid,
          +                         int replica)
          +
        • +
        + + + +
          +
        • +

          hasBeenForwardedAlready

          +
          public boolean hasBeenForwardedAlready​(int cid,
          +                                       int replica)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/ReplyManager.html b/docs/javadoc/bftsmart/tom/core/ReplyManager.html new file mode 100644 index 000000000..906f7f57a --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/ReplyManager.html @@ -0,0 +1,306 @@ + + + + + +ReplyManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ReplyManager

    +
    +
    + +
    +
      +
    • +
      +
      public class ReplyManager
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidsend​(TOMMessage msg) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/Synchronizer.html b/docs/javadoc/bftsmart/tom/core/Synchronizer.html new file mode 100644 index 000000000..60f6e70e8 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/Synchronizer.html @@ -0,0 +1,392 @@ + + + + + +Synchronizer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Synchronizer

    +
    +
    + +
    +
      +
    • +
      +
      public class Synchronizer
      +extends java.lang.Object
      +
      This class implements the synchronization phase described in + Joao Sousa's 'From Byzantine Consensus to BFT state machine replication: a latency-optimal transformation' (May 2012) + + This class implements all optimizations described at the end of the paper
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Synchronizer​(TOMLayer tom) 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voiddeliverTimeoutRequest​(LCMessage msg) +
        This method is called by the MessageHandler each time it received + messages related to the leader change
        +
        LCManagergetLCManager() 
        voidremoveSTOPretransmissions​(int regency) +
        Remove all STOP messages being retransmitted up until + the specified regency
        +
        voidresumeLC() 
        voidtriggerTimeout​(java.util.List<TOMMessage> requestList) +
        This method is called when there is a timeout and the request has already + been forwarded to the leader
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Synchronizer

          +
          public Synchronizer​(TOMLayer tom)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLCManager

          +
          public LCManager getLCManager()
          +
        • +
        + + + +
          +
        • +

          triggerTimeout

          +
          public void triggerTimeout​(java.util.List<TOMMessage> requestList)
          +
          This method is called when there is a timeout and the request has already + been forwarded to the leader
          +
          +
          Parameters:
          +
          requestList - List of requests that the replica wanted to order but + didn't manage to
          +
          +
        • +
        + + + +
          +
        • +

          removeSTOPretransmissions

          +
          public void removeSTOPretransmissions​(int regency)
          +
          Remove all STOP messages being retransmitted up until + the specified regency
          +
          +
          Parameters:
          +
          regency - The regency up to which STOP retransmission should be canceled
          +
          +
        • +
        + + + +
          +
        • +

          deliverTimeoutRequest

          +
          public void deliverTimeoutRequest​(LCMessage msg)
          +
          This method is called by the MessageHandler each time it received + messages related to the leader change
          +
          +
          Parameters:
          +
          msg - Message received from the other replica
          +
          +
        • +
        + + + +
          +
        • +

          resumeLC

          +
          public void resumeLC()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/TOMLayer.html b/docs/javadoc/bftsmart/tom/core/TOMLayer.html new file mode 100644 index 000000000..8702cd410 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/TOMLayer.html @@ -0,0 +1,975 @@ + + + + + +TOMLayer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TOMLayer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      RequestReceiver, java.lang.Runnable
      +
      +
      +
      public final class TOMLayer
      +extends java.lang.Thread
      +implements RequestReceiver
      +
      This class implements the state machine replication protocol described in + Joao Sousa's 'From Byzantine Consensus to BFT state machine replication: a latency-optimal transformation' (May 2012) + + The synchronization phase described in the paper is implemented in the Synchronizer class
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TOMLayer

          +
          public TOMLayer​(ExecutionManager manager,
          +                ServiceReplica receiver,
          +                Recoverable recoverer,
          +                Acceptor a,
          +                ServerCommunicationSystem cs,
          +                ServerViewController controller,
          +                RequestVerifier verifier)
          +
          Creates a new instance of TOMulticastLayer
          +
          +
          Parameters:
          +
          manager - Execution manager
          +
          receiver - Object that receives requests from clients
          +
          recoverer - Object of a class implementing Recoverable interface for the state management
          +
          a - Acceptor role of the PaW algorithm
          +
          cs - Communication system between replicas
          +
          controller - Reconfiguration Manager
          +
          verifier - Implementation of predicate used to verify client requests
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          computeHash

          +
          public byte[] computeHash​(byte[] data)
          +
          Computes an hash for a TOM message
          +
          +
          Parameters:
          +
          data - Data from which to generate the hash
          +
          Returns:
          +
          Hash for the specified TOM message
          +
          +
        • +
        + + + +
          +
        • +

          sign

          +
          public java.security.SignedObject sign​(java.io.Serializable obj)
          +
        • +
        + + + +
          +
        • +

          loadPublicKey

          +
          public void loadPublicKey​(int target)
          +
        • +
        + + + +
          +
        • +

          verifySignature

          +
          public boolean verifySignature​(java.security.SignedObject so,
          +                               int sender)
          +
          Verifies the signature of a signed object
          +
          +
          Parameters:
          +
          so - Signed object to be verified
          +
          sender - Replica id that supposedly signed this object
          +
          Returns:
          +
          True if the signature is valid, false otherwise
          +
          +
        • +
        + + + +
          +
        • +

          getCommunication

          +
          public ServerCommunicationSystem getCommunication()
          +
          Retrieve Communication system between replicas
          +
          +
          Returns:
          +
          Communication system between replicas
          +
          +
        • +
        + + + +
          +
        • +

          imAmTheLeader

          +
          public void imAmTheLeader()
          +
        • +
        + + + +
          +
        • +

          setLastExec

          +
          public void setLastExec​(int last)
          +
          Sets which consensus was the last to be executed
          +
          +
          Parameters:
          +
          last - ID of the consensus which was last to be executed
          +
          +
        • +
        + + + +
          +
        • +

          getLastExec

          +
          public int getLastExec()
          +
          Gets the ID of the consensus which was established as the last executed
          +
          +
          Returns:
          +
          ID of the consensus which was established as the last executed
          +
          +
        • +
        + + + +
          +
        • +

          setInExec

          +
          public void setInExec​(int inEx)
          +
          Sets which consensus is being executed at the moment
          +
          +
          Parameters:
          +
          inEx - ID of the consensus being executed at the moment
          +
          +
        • +
        + + + +
          +
        • +

          waitForPaxosToFinish

          +
          public void waitForPaxosToFinish()
          +
          This method blocks until the PaW algorithm is finished
          +
        • +
        + + + +
          +
        • +

          getInExec

          +
          public int getInExec()
          +
          Gets the ID of the consensus currently beign executed
          +
          +
          Returns:
          +
          ID of the consensus currently beign executed (if no consensus ir + executing, -1 is returned)
          +
          +
        • +
        + + + +
          +
        • +

          requestReceived

          +
          public void requestReceived​(TOMMessage msg,
          +                            boolean fromClient)
          +
          This method is invoked by the communication system to deliver a request. + It assumes that the communication system delivers the message in FIFO + order.
          +
          +
          Specified by:
          +
          requestReceived in interface RequestReceiver
          +
          Parameters:
          +
          msg - The request being received
          +
          fromClient - Whether the request was received from a client or was part of a forwarded message
          +
          +
        • +
        + + + +
          +
        • +

          createPropose

          +
          public byte[] createPropose​(Decision dec)
          +
          Creates a value to be proposed to the acceptors. Invoked if this replica + is the leader
          +
          +
          Parameters:
          +
          dec - Object that will eventually hold the decided value
          +
          Returns:
          +
          A value to be proposed to the acceptors
          +
          +
        • +
        + + + +
          +
        • +

          run

          +
          public void run()
          +
          This is the main code for this thread. It basically waits until this + replica becomes the leader, and when so, proposes a value to the other + acceptors
          +
          +
          Specified by:
          +
          run in interface java.lang.Runnable
          +
          Overrides:
          +
          run in class java.lang.Thread
          +
          +
        • +
        + + + +
          +
        • +

          decided

          +
          public void decided​(Decision dec)
          +
          Called by the current consensus instance, to notify the TOM layer that + a value was decided
          +
          +
          Parameters:
          +
          dec - The decision of the consensus
          +
          +
        • +
        + + + +
          +
        • +

          checkProposedValue

          +
          public TOMMessage[] checkProposedValue​(byte[] proposedValue,
          +                                       boolean addToClientManager)
          +
          Verify if the value being proposed for a epoch is valid. It verifies the + client signature of all batch requests. + + TODO: verify timestamps and nonces
          +
          +
          Parameters:
          +
          proposedValue - the value being proposed
          +
          addToClientManager - add the requests to the client manager
          +
          Returns:
          +
          Valid messages contained in the proposed value
          +
          +
        • +
        + + + +
          +
        • +

          forwardRequestToLeader

          +
          public void forwardRequestToLeader​(TOMMessage request)
          +
        • +
        + + + +
          +
        • +

          isRetrievingState

          +
          public boolean isRetrievingState()
          +
        • +
        + + + +
          +
        • +

          isChangingLeader

          +
          public boolean isChangingLeader()
          +
        • +
        + + + +
          +
        • +

          setNoExec

          +
          public void setNoExec()
          +
        • +
        + + + +
          +
        • +

          processOutOfContext

          +
          public void processOutOfContext()
          +
        • +
        + + + +
          +
        • +

          getStateManager

          +
          public StateManager getStateManager()
          +
        • +
        + + + +
          +
        • +

          getSynchronizer

          +
          public Synchronizer getSynchronizer()
          +
        • +
        + + + +
          +
        • +

          getDeliveryThread

          +
          public DeliveryThread getDeliveryThread()
          +
        • +
        + + + +
          +
        • +

          shutdown

          +
          public void shutdown()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/TOMSender.html b/docs/javadoc/bftsmart/tom/core/TOMSender.html new file mode 100644 index 000000000..8f3e98b8d --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/TOMSender.html @@ -0,0 +1,501 @@ + + + + + +TOMSender (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TOMSender

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      ReplyReceiver, java.io.Closeable, java.lang.AutoCloseable
      +
      +
      +
      Direct Known Subclasses:
      +
      ServiceProxy
      +
      +
      +
      public abstract class TOMSender
      +extends java.lang.Object
      +implements ReplyReceiver, java.io.Closeable, java.lang.AutoCloseable
      +
      This class is used to multicast messages to replicas and receive replies.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TOMSender

          +
          public TOMSender​(int processId,
          +                 java.lang.String configHome,
          +                 KeyLoader loader)
          +
          Creates a new instance of TOMulticastSender
          +
          +
          Parameters:
          +
          processId - Process id for this client
          +
          configHome - Configuration directory for BFT-SMART
          +
          loader - Used to load signature keys from disk
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          close

          +
          public void close()
          +
          +
          Specified by:
          +
          close in interface java.lang.AutoCloseable
          +
          Specified by:
          +
          close in interface java.io.Closeable
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getProcessId

          +
          public int getProcessId()
          +
        • +
        + + + +
          +
        • +

          generateRequestId

          +
          public int generateRequestId​(TOMMessageType type)
          +
        • +
        + + + +
          +
        • +

          generateOperationId

          +
          public int generateOperationId()
          +
        • +
        + + + +
          +
        • +

          TOMulticast

          +
          public void TOMulticast​(TOMMessage sm)
          +
        • +
        + + + +
          +
        • +

          TOMulticast

          +
          public void TOMulticast​(byte[] m,
          +                        int reqId,
          +                        int operationId,
          +                        TOMMessageType reqType)
          +
        • +
        + + + +
          +
        • +

          sendMessageToTargets

          +
          public void sendMessageToTargets​(byte[] m,
          +                                 int reqId,
          +                                 int operationId,
          +                                 int[] targets,
          +                                 TOMMessageType type)
          +
        • +
        + + + +
          +
        • +

          getSession

          +
          public int getSession()
          +
        • +
        + + + +
          +
        • +

          getReplyQuorum

          +
          public int getReplyQuorum()
          +
          Retrieves the required quorum size for the amount of replies
          +
          +
          Returns:
          +
          The quorum size for the amount of replies
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/messages/ForwardedMessage.html b/docs/javadoc/bftsmart/tom/core/messages/ForwardedMessage.html new file mode 100644 index 000000000..d64d46577 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/messages/ForwardedMessage.html @@ -0,0 +1,406 @@ + + + + + +ForwardedMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ForwardedMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public final class ForwardedMessage
      +extends SystemMessage
      +
      Message used to forward a client request to the current leader when the first + timeout for this request is triggered (see RequestTimer).
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ForwardedMessage

          +
          public ForwardedMessage()
          +
        • +
        + + + +
          +
        • +

          ForwardedMessage

          +
          public ForwardedMessage​(int senderId,
          +                        TOMMessage request)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRequest

          +
          public TOMMessage getRequest()
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/messages/TOMMessage.html b/docs/javadoc/bftsmart/tom/core/messages/TOMMessage.html new file mode 100644 index 000000000..b7a70c9c0 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/messages/TOMMessage.html @@ -0,0 +1,1159 @@ + + + + + +TOMMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TOMMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable
      +
      +
      +
      public class TOMMessage
      +extends SystemMessage
      +implements java.io.Externalizable, java.lang.Comparable, java.lang.Cloneable
      +
      This class represents a total ordered message
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          timestamp

          +
          public transient long timestamp
          +
        • +
        + + + +
          +
        • +

          seed

          +
          public transient long seed
          +
        • +
        + + + +
          +
        • +

          numOfNonces

          +
          public transient int numOfNonces
          +
        • +
        + + + +
          +
        • +

          destination

          +
          public transient int destination
          +
        • +
        + + + +
          +
        • +

          signed

          +
          public transient boolean signed
          +
        • +
        + + + +
          +
        • +

          receptionTime

          +
          public transient long receptionTime
          +
        • +
        + + + +
          +
        • +

          receptionTimestamp

          +
          public transient long receptionTimestamp
          +
        • +
        + + + +
          +
        • +

          timeout

          +
          public transient boolean timeout
          +
        • +
        + + + +
          +
        • +

          recvFromClient

          +
          public transient boolean recvFromClient
          +
        • +
        + + + +
          +
        • +

          isValid

          +
          public transient boolean isValid
          +
        • +
        + + + +
          +
        • +

          serializedMessage

          +
          public transient byte[] serializedMessage
          +
        • +
        + + + +
          +
        • +

          serializedMessageSignature

          +
          public transient byte[] serializedMessageSignature
          +
        • +
        + + + +
          +
        • +

          serializedMessageMAC

          +
          public transient byte[] serializedMessageMAC
          +
        • +
        + + + +
          +
        • +

          consensusStartTime

          +
          public transient long consensusStartTime
          +
        • +
        + + + +
          +
        • +

          proposeReceivedTime

          +
          public transient long proposeReceivedTime
          +
        • +
        + + + +
          +
        • +

          writeSentTime

          +
          public transient long writeSentTime
          +
        • +
        + + + +
          +
        • +

          acceptSentTime

          +
          public transient long acceptSentTime
          +
        • +
        + + + +
          +
        • +

          decisionTime

          +
          public transient long decisionTime
          +
        • +
        + + + +
          +
        • +

          deliveryTime

          +
          public transient long deliveryTime
          +
        • +
        + + + +
          +
        • +

          executedTime

          +
          public transient long executedTime
          +
        • +
        + + + + + + + +
          +
        • +

          alreadyProposed

          +
          public transient boolean alreadyProposed
          +
        • +
        + + + +
          +
        • +

          retry

          +
          public transient int retry
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TOMMessage

          +
          public TOMMessage()
          +
        • +
        + + + +
          +
        • +

          TOMMessage

          +
          public TOMMessage​(int sender,
          +                  int session,
          +                  int sequence,
          +                  int operationId,
          +                  byte[] content,
          +                  int view,
          +                  TOMMessageType type)
          +
          Creates a new instance of TOMMessage. This one has an operationId parameter + used for FIFO executions
          +
          +
          Parameters:
          +
          sender - The client id
          +
          session - The session id of the sender
          +
          sequence - The sequence number created based on the message type
          +
          operationId - The operation sequence number disregarding message type
          +
          content - The command to be executed
          +
          view - The view in which the message was sent
          +
          type - Ordered or Unordered request
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDebugInfo

          +
          public DebugInfo getDebugInfo()
          +
          Retrieves the debug info from the TOM layer
          +
          +
          Returns:
          +
          The debug info from the TOM layer
          +
          +
        • +
        + + + +
          +
        • +

          setDebugInfo

          +
          public void setDebugInfo​(DebugInfo info)
          +
          Retrieves the debug info from the TOM layer
          +
        • +
        + + + +
          +
        • +

          getSession

          +
          public int getSession()
          +
          Retrieves the session id of this message
          +
          +
          Returns:
          +
          The session id of this message
          +
          +
        • +
        + + + +
          +
        • +

          getSequence

          +
          public int getSequence()
          +
          Retrieves the sequence number defined by the client
          +
          +
          Returns:
          +
          The sequence number defined by the client
          +
          +
        • +
        + + + +
          +
        • +

          getOperationId

          +
          public int getOperationId()
          +
        • +
        + + + +
          +
        • +

          getViewID

          +
          public int getViewID()
          +
        • +
        + + + + + + + +
          +
        • +

          getId

          +
          public int getId()
          +
          Retrieves the ID for this message. It should be unique
          +
          +
          Returns:
          +
          The ID for this message.
          +
          +
        • +
        + + + +
          +
        • +

          getContent

          +
          public byte[] getContent()
          +
          Retrieves the content of the message
          +
          +
          Returns:
          +
          The content of the message
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object o)
          +
          Verifies if two TOMMessage are equal. For performance reasons, the method + only verifies if the send and sequence are equal. + + Two TOMMessage are equal if they have the same sender, sequence number + and content.
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          toString

          +
          public java.lang.String toString()
          +
          +
          Overrides:
          +
          toString in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          wExternal

          +
          public void wExternal​(java.io.DataOutput out)
          +               throws java.io.IOException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          rExternal

          +
          public void rExternal​(java.io.DataInput in)
          +               throws java.io.IOException,
          +                      java.lang.ClassNotFoundException
          +
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        + + + +
          +
        • +

          getSenderFromId

          +
          public static int getSenderFromId​(int id)
          +
          Retrieves the process ID of the sender given a message ID
          +
          +
          Parameters:
          +
          id - Message ID
          +
          Returns:
          +
          Process ID of the sender
          +
          +
        • +
        + + + +
          +
        • +

          messageToBytes

          +
          public static byte[] messageToBytes​(TOMMessage m)
          +
        • +
        + + + +
          +
        • +

          bytesToMessage

          +
          public static TOMMessage bytesToMessage​(byte[] b)
          +
        • +
        + + + +
          +
        • +

          compareTo

          +
          public int compareTo​(java.lang.Object o)
          +
          +
          Specified by:
          +
          compareTo in interface java.lang.Comparable
          +
          +
        • +
        + + + +
          +
        • +

          clone

          +
          public java.lang.Object clone()
          +                       throws java.lang.CloneNotSupportedException
          +
          +
          Overrides:
          +
          clone in class java.lang.Object
          +
          Throws:
          +
          java.lang.CloneNotSupportedException
          +
          +
        • +
        + + + +
          +
        • +

          setSender

          +
          public void setSender​(int sender)
          +
        • +
        + + + +
          +
        • +

          getReplyServer

          +
          public int getReplyServer()
          +
        • +
        + + + +
          +
        • +

          setReplyServer

          +
          public void setReplyServer​(int replyServer)
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          This two methods implement the Externalizable interface --- only used for serialization of forwarded requests/replies + when used for transferring ** replica application state ** that includes these. + Not used for the total order multicast protocol or the client-server communication.
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/messages/TOMMessageType.html b/docs/javadoc/bftsmart/tom/core/messages/TOMMessageType.html new file mode 100644 index 000000000..3adf0fcb8 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/messages/TOMMessageType.html @@ -0,0 +1,511 @@ + + + + + +TOMMessageType (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum TOMMessageType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Serializable, java.lang.Comparable<TOMMessageType>
      +
      +
      +
      public enum TOMMessageType
      +extends java.lang.Enum<TOMMessageType>
      +
      Possible types of TOMMessage
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static TOMMessageType[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (TOMMessageType c : TOMMessageType.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static TOMMessageType valueOf​(java.lang.String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
          +
          java.lang.NullPointerException - if the argument is null
          +
          +
        • +
        + + + +
          +
        • +

          getMessageType

          +
          public static TOMMessageType getMessageType​(int ordinal)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/core/messages/package-summary.html b/docs/javadoc/bftsmart/tom/core/messages/package-summary.html new file mode 100644 index 000000000..86a6e2ec8 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/messages/package-summary.html @@ -0,0 +1,190 @@ + + + + + +bftsmart.tom.core.messages (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tom.core.messages

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/core/messages/package-tree.html b/docs/javadoc/bftsmart/tom/core/messages/package-tree.html new file mode 100644 index 000000000..9d24d31cc --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/messages/package-tree.html @@ -0,0 +1,180 @@ + + + + + +bftsmart.tom.core.messages Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tom.core.messages

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • bftsmart.communication.SystemMessage (implements java.io.Externalizable) +
          +
        • bftsmart.tom.core.messages.ForwardedMessage
        • +
        • bftsmart.tom.core.messages.TOMMessage (implements java.lang.Cloneable, java.lang.Comparable<T>, java.io.Externalizable)
        • +
        +
      • +
      +
    • +
    +
    +
    +

    Enum Hierarchy

    +
      +
    • java.lang.Object +
        +
      • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
      • +
      +
    • +
    +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/core/package-summary.html b/docs/javadoc/bftsmart/tom/core/package-summary.html new file mode 100644 index 000000000..36b8570f2 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/package-summary.html @@ -0,0 +1,201 @@ + + + + + +bftsmart.tom.core (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tom.core

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/core/package-tree.html b/docs/javadoc/bftsmart/tom/core/package-tree.html new file mode 100644 index 000000000..57ce52ac6 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/core/package-tree.html @@ -0,0 +1,170 @@ + + + + + +bftsmart.tom.core Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tom.core

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/CertifiedDecision.html b/docs/javadoc/bftsmart/tom/leaderchange/CertifiedDecision.html new file mode 100644 index 000000000..ff626694f --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/CertifiedDecision.html @@ -0,0 +1,496 @@ + + + + + +CertifiedDecision (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CertifiedDecision

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class CertifiedDecision
      +extends java.lang.Object
      +implements java.io.Externalizable
      +
      Data about the last consensus decision
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        booleanequals​(java.lang.Object obj) 
        intgetCID() +
        Get consensus ID
        +
        java.util.Set<ConsensusMessage>getConsMessages() +
        Get proof of the decision in the form of authenticated Consensus Messages
        +
        byte[]getDecision() +
        Get decision value
        +
        intgetPID() +
        Get process id
        +
        inthashCode() 
        voidreadExternal​(java.io.ObjectInput in) 
        voidwriteExternal​(java.io.ObjectOutput out) 
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CertifiedDecision

          +
          public CertifiedDecision()
          +
          Empty constructor
          +
        • +
        + + + +
          +
        • +

          CertifiedDecision

          +
          public CertifiedDecision​(int pid,
          +                         int cid,
          +                         byte[] decision,
          +                         java.util.Set<ConsensusMessage> consMsgs)
          +
          Constructor
          +
          +
          Parameters:
          +
          pid - process id
          +
          cid - execution id
          +
          decision - decision value
          +
          consMsgs - proof of the decision in the form of authenticated Consensus Messages
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getCID

          +
          public int getCID()
          +
          Get consensus ID
          +
          +
          Returns:
          +
          consensus ID
          +
          +
        • +
        + + + +
          +
        • +

          getDecision

          +
          public byte[] getDecision()
          +
          Get decision value
          +
          +
          Returns:
          +
          decision value
          +
          +
        • +
        + + + +
          +
        • +

          getConsMessages

          +
          public java.util.Set<ConsensusMessage> getConsMessages()
          +
          Get proof of the decision in the form of authenticated Consensus Messages
          +
          +
          Returns:
          +
          proof of the decision in the form of authenticated Consensus Messages
          +
          +
        • +
        + + + +
          +
        • +

          getPID

          +
          public int getPID()
          +
          Get process id
          +
          +
          Returns:
          +
          process id
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object obj)
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/CollectData.html b/docs/javadoc/bftsmart/tom/leaderchange/CollectData.html new file mode 100644 index 000000000..b2fa9f543 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/CollectData.html @@ -0,0 +1,520 @@ + + + + + +CollectData (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CollectData

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class CollectData
      +extends java.lang.Object
      +implements java.io.Externalizable
      +
      This class represents a COLLECT object with the information about the running consensus
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CollectData

          +
          public CollectData()
          +
          Empty constructor
          +
        • +
        + + + +
          +
        • +

          CollectData

          +
          public CollectData​(int pid,
          +                   int cid,
          +                   int ets,
          +                   TimestampValuePair quorumWrites,
          +                   java.util.HashSet<TimestampValuePair> writeSet)
          +
          Constructor
          +
          +
          Parameters:
          +
          pid - process id
          +
          cid - Consensus id
          +
          ets - Consensus ETS
          +
          quorumWrites - last value received from a Byzantine quorum of WRITEs
          +
          writeSet - values written by the replica
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getCid

          +
          public int getCid()
          +
          Get consensus id
          +
          +
          Returns:
          +
          consensus id
          +
          +
        • +
        + + + +
          +
        • +

          getEts

          +
          public int getEts()
          +
          Get consensus ETS
          +
          +
          Returns:
          +
          consensus ETS
          +
          +
        • +
        + + + +
          +
        • +

          getPid

          +
          public int getPid()
          +
          Get process id
          +
          +
          Returns:
          +
          process id
          +
          +
        • +
        + + + +
          +
        • +

          getQuorumWrites

          +
          public TimestampValuePair getQuorumWrites()
          +
          Get value received from a Byzantine quorum of WRITEs
          +
          +
          Returns:
          +
          value received from a Byzantine quorum of WRITEs
          +
          +
        • +
        + + + +
          +
        • +

          getWriteSet

          +
          public java.util.HashSet<TimestampValuePair> getWriteSet()
          +
          Get set of values written by the replica
          +
          +
          Returns:
          +
          set of values written by the replica
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(java.lang.Object obj)
          +
          +
          Overrides:
          +
          equals in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class java.lang.Object
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/LCManager.html b/docs/javadoc/bftsmart/tom/leaderchange/LCManager.html new file mode 100644 index 000000000..b169e0277 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/LCManager.html @@ -0,0 +1,1170 @@ + + + + + +LCManager (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LCManager

    +
    +
    + +
    +
      +
    • +
      +
      public class LCManager
      +extends java.lang.Object
      +
      This class implements a manager of information related to the leader change protocol + It also implements some predicates and methods necessary for the protocol in accordance + to Cachin's 'Yet Another Visit to Paxos' (April 2011).
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        LCManager​(TOMLayer tomLayer, + ServerViewController SVController, + java.security.MessageDigest md) +
        Constructor
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddCollect​(int regency, + java.security.SignedObject signedCollect) +
        Keep collect from an incoming SYNC message
        +
        voidaddLastCID​(int regency, + CertifiedDecision lastCID) +
        Keep last CID from an incoming SYNC message
        +
        voidaddRequestsFromSTOP​(TOMMessage[] requestsFromSTOP) +
        This is meant to keep track of requests received in STOP messages
        +
        voidaddStop​(int regency, + int pid) +
        Keep information about an incoming STOP message
        +
        booleanbinds​(int timestamp, + byte[] value, + java.util.HashSet<CollectData> collects) +
        The predicate "binds".
        +
        booleancertifiedValue​(int timestamp, + byte[] value, + java.util.HashSet<CollectData> collects) +
        The predicate "certifiedValue".
        +
        voidclearCurrentRequestTimedOut() +
        Discard timed out requests in this replica
        +
        voidclearRequestsFromSTOP() +
        Discard requests received in STOP messages
        +
        byte[]getBindValue​(java.util.HashSet<CollectData> collects) +
        Return a value that is "bind", that is different from null, and + with a timestamp greater or equal to zero
        +
        java.util.HashSet<java.security.SignedObject>getCollects​(int regency) +
        Get the set of collects related to a regency
        +
        intgetCollectsSize​(int regency) +
        Get the quantity of stored collect information
        +
        java.util.List<TOMMessage>getCurrentRequestTimedOut() +
        Get the timed out requests in this replica
        +
        intgetETS​(int cid, + java.util.Set<CollectData> collects) +
        Gets the highest ETS associated with a + consensus ID from the given collects
        +
        CertifiedDecisiongetHighestLastCID​(int ts) +
        Gets the highest valid last CID related to the given timestamp
        +
        java.util.HashSet<CertifiedDecision>getLastCIDs​(int regency) +
        Get the set of last CIDs related to a regency
        +
        intgetLastCIDsSize​(int regency) +
        Get the quantity of stored last CID information
        +
        byte[]getLastCIDValue​(int regency, + int cid) +
        Returns the value of the specified last CID for a given regency
        +
        intgetLastReg() +
        The current regency
        +
        intgetNewLeader() +
        Deterministically elects a new leader, based current leader and membership
        +
        intgetNextReg() +
        The next regency
        +
        java.util.List<TOMMessage>getRequestsFromSTOP() +
        Get the requests received in STOP messages
        +
        intgetStopsSize​(int regency) +
        Get the quantity of stored STOP information
        +
        booleanhasValidProof​(CertifiedDecision cDec) 
        booleanquorumHighest​(int timestamp, + byte[] value, + java.util.HashSet<CollectData> collects) +
        The predicate "quorumHighest".
        +
        voidremoveCollects​(int regency) +
        Discard collect information up to the given regency
        +
        voidremoveLastCIDs​(int regency) +
        Discard last CID information up to the specified regency
        +
        voidremoveStops​(int regency) +
        Discard information about STOP messages up to specified regency
        +
        java.util.HashSet<CollectData>selectCollects​(int regency, + int cid) +
        Fetchs a set of correctly signed and normalized collect data structures
        +
        java.util.HashSet<CollectData>selectCollects​(java.util.HashSet<java.security.SignedObject> signedObjects, + int cid, + int regency) +
        Fetchs a set of correctly signed and normalized collect data structures from the + specified original set of collects
        +
        voidsetCollects​(int regency, + java.util.HashSet<java.security.SignedObject> colls) +
        Defines the set of collects related to a regency
        +
        voidsetCurrentRequestTimedOut​(java.util.List<TOMMessage> currentRequestTimedOut) +
        This is meant to keep track of timed out requests in this replica
        +
        voidsetLastCIDs​(int regency, + java.util.HashSet<CertifiedDecision> lasts) +
        Defines the set of last CIDs related to a regency
        +
        voidsetLastReg​(int lastreg) +
        Set the previous regency
        +
        voidsetNewLeader​(int leader) +
        Informs the object of who is the current leader
        +
        voidsetNextReg​(int nextreg) +
        Set the next regency
        +
        booleansound​(java.util.HashSet<CollectData> collects) +
        The all-important predicate "sound".
        +
        booleanunbound​(java.util.HashSet<CollectData> collects) +
        The predicate "unbound".
        +
        +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LCManager

          +
          public LCManager​(TOMLayer tomLayer,
          +                 ServerViewController SVController,
          +                 java.security.MessageDigest md)
          +
          Constructor
          +
          +
          Parameters:
          +
          reconfManager - The reconfiguration manager from TOM layer
          +
          md - The message digest engine from TOM layer
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getNewLeader

          +
          public int getNewLeader()
          +
          Deterministically elects a new leader, based current leader and membership
          +
          +
          Returns:
          +
          The new leader
          +
          +
        • +
        + + + +
          +
        • +

          setNewLeader

          +
          public void setNewLeader​(int leader)
          +
          Informs the object of who is the current leader
          +
          +
          Parameters:
          +
          leader - The current leader
          +
          +
        • +
        + + + +
          +
        • +

          setCurrentRequestTimedOut

          +
          public void setCurrentRequestTimedOut​(java.util.List<TOMMessage> currentRequestTimedOut)
          +
          This is meant to keep track of timed out requests in this replica
          +
          +
          Parameters:
          +
          currentRequestTimedOut - Timed out requests in this replica
          +
          +
        • +
        + + + +
          +
        • +

          getCurrentRequestTimedOut

          +
          public java.util.List<TOMMessage> getCurrentRequestTimedOut()
          +
          Get the timed out requests in this replica
          +
          +
          Returns:
          +
          timed out requests in this replica
          +
          +
        • +
        + + + +
          +
        • +

          clearCurrentRequestTimedOut

          +
          public void clearCurrentRequestTimedOut()
          +
          Discard timed out requests in this replica
          +
        • +
        + + + +
          +
        • +

          addRequestsFromSTOP

          +
          public void addRequestsFromSTOP​(TOMMessage[] requestsFromSTOP)
          +
          This is meant to keep track of requests received in STOP messages
          +
          +
          Parameters:
          +
          requestsFromSTOP - Requests received in a STOP message
          +
          +
        • +
        + + + +
          +
        • +

          getRequestsFromSTOP

          +
          public java.util.List<TOMMessage> getRequestsFromSTOP()
          +
          Get the requests received in STOP messages
          +
          +
          Returns:
          +
          requests received in STOP messages
          +
          +
        • +
        + + + +
          +
        • +

          clearRequestsFromSTOP

          +
          public void clearRequestsFromSTOP()
          +
          Discard requests received in STOP messages
          +
        • +
        + + + +
          +
        • +

          setLastReg

          +
          public void setLastReg​(int lastreg)
          +
          Set the previous regency
          +
          +
          Parameters:
          +
          lastreg - current regency
          +
          +
        • +
        + + + +
          +
        • +

          getLastReg

          +
          public int getLastReg()
          +
          The current regency
          +
          +
          Returns:
          +
          current regency
          +
          +
        • +
        + + + +
          +
        • +

          setNextReg

          +
          public void setNextReg​(int nextreg)
          +
          Set the next regency
          +
          +
          Parameters:
          +
          nextts - next regency
          +
          +
        • +
        + + + +
          +
        • +

          getNextReg

          +
          public int getNextReg()
          +
          The next regency
          +
          +
          Returns:
          +
          next regency
          +
          +
        • +
        + + + +
          +
        • +

          addStop

          +
          public void addStop​(int regency,
          +                    int pid)
          +
          Keep information about an incoming STOP message
          +
          +
          Parameters:
          +
          regency - the next regency
          +
          pid - the process that sent the message
          +
          +
        • +
        + + + +
          +
        • +

          removeStops

          +
          public void removeStops​(int regency)
          +
          Discard information about STOP messages up to specified regency
          +
          +
          Parameters:
          +
          ts - timestamp up to which to discard messages
          +
          +
        • +
        + + + +
          +
        • +

          getStopsSize

          +
          public int getStopsSize​(int regency)
          +
          Get the quantity of stored STOP information
          +
          +
          Parameters:
          +
          regency - Regency to be considered
          +
          Returns:
          +
          quantity of stored STOP information for given timestamp
          +
          +
        • +
        + + + +
          +
        • +

          addLastCID

          +
          public void addLastCID​(int regency,
          +                       CertifiedDecision lastCID)
          +
          Keep last CID from an incoming SYNC message
          +
          +
          Parameters:
          +
          regency - the current regency
          +
          lastCID - the last CID data
          +
          +
        • +
        + + + +
          +
        • +

          removeLastCIDs

          +
          public void removeLastCIDs​(int regency)
          +
          Discard last CID information up to the specified regency
          +
          +
          Parameters:
          +
          regency - Regency up to which to discard information
          +
          +
        • +
        + + + +
          +
        • +

          getLastCIDsSize

          +
          public int getLastCIDsSize​(int regency)
          +
          Get the quantity of stored last CID information
          +
          +
          Parameters:
          +
          regency - regency to be considered
          +
          Returns:
          +
          quantity of stored last CID information for given regency
          +
          +
        • +
        + + + +
          +
        • +

          getLastCIDs

          +
          public java.util.HashSet<CertifiedDecision> getLastCIDs​(int regency)
          +
          Get the set of last CIDs related to a regency
          +
          +
          Parameters:
          +
          regency - Regency for the last CID info
          +
          Returns:
          +
          a set of last CID data
          +
          +
        • +
        + + + +
          +
        • +

          setLastCIDs

          +
          public void setLastCIDs​(int regency,
          +                        java.util.HashSet<CertifiedDecision> lasts)
          +
          Defines the set of last CIDs related to a regency
          +
          +
          Parameters:
          +
          regency - Regency for the last CID info
          +
          lasts - a set of last CID data
          +
          +
        • +
        + + + +
          +
        • +

          addCollect

          +
          public void addCollect​(int regency,
          +                       java.security.SignedObject signedCollect)
          +
          Keep collect from an incoming SYNC message
          +
          +
          Parameters:
          +
          ts - the current regency
          +
          signedCollect - the signed collect data
          +
          +
        • +
        + + + +
          +
        • +

          removeCollects

          +
          public void removeCollects​(int regency)
          +
          Discard collect information up to the given regency
          +
          +
          Parameters:
          +
          regency - Regency up to which to discard information
          +
          +
        • +
        + + + +
          +
        • +

          getCollectsSize

          +
          public int getCollectsSize​(int regency)
          +
          Get the quantity of stored collect information
          +
          +
          Parameters:
          +
          regency - Regency to be considered
          +
          Returns:
          +
          quantity of stored collect information for given regency
          +
          +
        • +
        + + + +
          +
        • +

          getCollects

          +
          public java.util.HashSet<java.security.SignedObject> getCollects​(int regency)
          +
          Get the set of collects related to a regency
          +
          +
          Parameters:
          +
          regency - Regency for collects
          +
          Returns:
          +
          a set of collect data
          +
          +
        • +
        + + + +
          +
        • +

          setCollects

          +
          public void setCollects​(int regency,
          +                        java.util.HashSet<java.security.SignedObject> colls)
          +
          Defines the set of collects related to a regency
          +
          +
          Parameters:
          +
          regency - Regency for the last CID info
          +
          colls - a set of collect data
          +
          +
        • +
        + + + +
          +
        • +

          sound

          +
          public boolean sound​(java.util.HashSet<CollectData> collects)
          +
          The all-important predicate "sound". This method must received a set of collects that were + filtered using the method selectCollects()
          +
          +
          Parameters:
          +
          collects - the collect data to which to apply the predicate.
          +
          Returns:
          +
          See Cachin's 'Yet Another Visit to Paxos' (April 2011), page 11 + + In addition, see pages 252 and 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          binds

          +
          public boolean binds​(int timestamp,
          +                     byte[] value,
          +                     java.util.HashSet<CollectData> collects)
          +
          The predicate "binds". This method must received a set of collects that were + filtered using the method selectCollects()
          +
          +
          Parameters:
          +
          timestamp - the timestamp to search for
          +
          value - the value to search for
          +
          collects - the collect data to which to apply the predicate.
          +
          Returns:
          +
          See Cachin's 'Yet Another Visit to Paxos' (April 2011), page 11 + + In addition, see pages 252 and 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          getBindValue

          +
          public byte[] getBindValue​(java.util.HashSet<CollectData> collects)
          +
          Return a value that is "bind", that is different from null, and + with a timestamp greater or equal to zero
          +
          +
          Parameters:
          +
          collects - Set of collects from which to determine the value
          +
          Returns:
          +
          The bind value + + See Cachin's 'Yet Another Visit to Paxos' (April 2011), page 11 + Also, see pages 252 and 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          unbound

          +
          public boolean unbound​(java.util.HashSet<CollectData> collects)
          +
          The predicate "unbound". This method must received a set of collects that were + filtered using the method selectCollects()
          +
          +
          Parameters:
          +
          collects - the collect data to which to apply the predicate.
          +
          Returns:
          +
          See Cachin's 'Yet Another Visit to Paxos' (April 2011), page 11 + + In addition, see page 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          quorumHighest

          +
          public boolean quorumHighest​(int timestamp,
          +                             byte[] value,
          +                             java.util.HashSet<CollectData> collects)
          +
          The predicate "quorumHighest". This method must received a set of collects that were + filtered using the method selectCollects()
          +
          +
          Parameters:
          +
          timestamp - the timestamp to search for
          +
          value - the value to search for
          +
          collects - the collect data to which to apply the predicate.
          +
          Returns:
          +
          See Cachin's 'Yet Another Visit to Paxos' (April 2011), pages 10-11 + + In addition, see pages 252 and 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          certifiedValue

          +
          public boolean certifiedValue​(int timestamp,
          +                              byte[] value,
          +                              java.util.HashSet<CollectData> collects)
          +
          The predicate "certifiedValue". This method must received a set of collects that were + filtered using the method selectCollects()
          +
          +
          Parameters:
          +
          timestamp - the timestamp to search for
          +
          value - the value to search for
          +
          collects - the collect data to which to apply the predicate.
          +
          Returns:
          +
          See Cachin's 'Yet Another Visit to Paxos' (April 2011), page 11 + + In addition, see page 253 from "Introduction to Reliable and Secure Distributed Programming"
          +
          +
        • +
        + + + +
          +
        • +

          selectCollects

          +
          public java.util.HashSet<CollectData> selectCollects​(int regency,
          +                                                     int cid)
          +
          Fetchs a set of correctly signed and normalized collect data structures
          +
          +
          Parameters:
          +
          regency - the regency from which the collects were stored
          +
          cid - the CID to which to normalize the collects
          +
          Returns:
          +
          a set of correctly signed and normalized collect data structures
          +
          +
        • +
        + + + +
          +
        • +

          selectCollects

          +
          public java.util.HashSet<CollectData> selectCollects​(java.util.HashSet<java.security.SignedObject> signedObjects,
          +                                                     int cid,
          +                                                     int regency)
          +
          Fetchs a set of correctly signed and normalized collect data structures from the + specified original set of collects
          +
          +
          Parameters:
          +
          signedObjects - original set of signed collects
          +
          cid - the CID to which to normalize the collects
          +
          Returns:
          +
          a set of correctly signed and normalized collect data structures
          +
          +
        • +
        + + + +
          +
        • +

          getHighestLastCID

          +
          public CertifiedDecision getHighestLastCID​(int ts)
          +
          Gets the highest valid last CID related to the given timestamp
          +
          +
          Parameters:
          +
          ts - the timestamp
          +
          Returns:
          +
          -1 if there is no such CID, otherwise returns the highest valid last CID
          +
          +
        • +
        + + + + + + + +
          +
        • +

          getLastCIDValue

          +
          public byte[] getLastCIDValue​(int regency,
          +                              int cid)
          +
          Returns the value of the specified last CID for a given regency
          +
          +
          Parameters:
          +
          regency - the related regency
          +
          cid - the last CID
          +
          Returns:
          +
          null if there is no such CID or is invalid, otherwise returns the value
          +
          +
        • +
        + + + +
          +
        • +

          getETS

          +
          public int getETS​(int cid,
          +                  java.util.Set<CollectData> collects)
          +
          Gets the highest ETS associated with a + consensus ID from the given collects
          +
          +
          Parameters:
          +
          cid - The consensus ID
          +
          collects - The collects from the other replicas
          +
          Returns:
          +
          The highest ETS
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/LCMessage.html b/docs/javadoc/bftsmart/tom/leaderchange/LCMessage.html new file mode 100644 index 000000000..acc7aeb36 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/LCMessage.html @@ -0,0 +1,503 @@ + + + + + +LCMessage (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LCMessage

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      java.io.Externalizable, java.io.Serializable
      +
      +
      +
      public class LCMessage
      +extends SystemMessage
      +
      Message used during leader change and synchronization
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        LCMessage() +
        Empty constructor
        +
        LCMessage​(int from, + int type, + int ts, + byte[] payload) +
        Constructor
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        byte[]getPayload() +
        Obter data of the message
        +
        intgetReg() +
        Get timestamp of leader change and synchronization
        +
        intgetType() +
        Get type of message
        +
        voidreadExternal​(java.io.ObjectInput in) 
        voidwriteExternal​(java.io.ObjectOutput out) 
        + +
          +
        • + + +

          Methods inherited from class java.lang.Object

          +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          TRIGGER_LC_LOCALLY

          +
          public final boolean TRIGGER_LC_LOCALLY
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LCMessage

          +
          public LCMessage()
          +
          Empty constructor
          +
        • +
        + + + +
          +
        • +

          LCMessage

          +
          public LCMessage​(int from,
          +                 int type,
          +                 int ts,
          +                 byte[] payload)
          +
          Constructor
          +
          +
          Parameters:
          +
          from - replica that creates this message
          +
          type - type of the message (STOP, SYNC, CATCH-UP)
          +
          ts - timestamp of leader change and synchronization
          +
          payload - dada that comes with the message
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getType

          +
          public int getType()
          +
          Get type of message
          +
          +
          Returns:
          +
          type of message
          +
          +
        • +
        + + + +
          +
        • +

          getReg

          +
          public int getReg()
          +
          Get timestamp of leader change and synchronization
          +
          +
          Returns:
          +
          timestamp of leader change and synchronization
          +
          +
        • +
        + + + +
          +
        • +

          getPayload

          +
          public byte[] getPayload()
          +
          Obter data of the message
          +
          +
          Returns:
          +
          data of the message
          +
          +
        • +
        + + + +
          +
        • +

          writeExternal

          +
          public void writeExternal​(java.io.ObjectOutput out)
          +                   throws java.io.IOException
          +
          +
          Specified by:
          +
          writeExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          writeExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          +
        • +
        + + + +
          +
        • +

          readExternal

          +
          public void readExternal​(java.io.ObjectInput in)
          +                  throws java.io.IOException,
          +                         java.lang.ClassNotFoundException
          +
          +
          Specified by:
          +
          readExternal in interface java.io.Externalizable
          +
          Overrides:
          +
          readExternal in class SystemMessage
          +
          Throws:
          +
          java.io.IOException
          +
          java.lang.ClassNotFoundException
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/RequestsTimer.html b/docs/javadoc/bftsmart/tom/leaderchange/RequestsTimer.html new file mode 100644 index 000000000..00de1920f --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/RequestsTimer.html @@ -0,0 +1,517 @@ + + + + + +RequestsTimer (library API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RequestsTimer

    +
    +
    + +
    +
      +
    • +
      +
      public class RequestsTimer
      +extends java.lang.Object
      +
      This thread serves as a manager for all timers of pending requests.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setShortTimeout

          +
          public void setShortTimeout​(long shortTimeout)
          +
        • +
        + + + +
          +
        • +

          startTimer

          +
          public void startTimer()
          +
        • +
        + + + +
          +
        • +

          stopTimer

          +
          public void stopTimer()
          +
        • +
        + + + +
          +
        • +

          Enabled

          +
          public void Enabled​(boolean phase)
          +
        • +
        + + + +
          +
        • +

          isEnabled

          +
          public boolean isEnabled()
          +
        • +
        + + + +
          +
        • +

          watch

          +
          public void watch​(TOMMessage request)
          +
          Creates a timer for the given request
          +
          +
          Parameters:
          +
          request - Request to which the timer is being createf for
          +
          +
        • +
        + + + +
          +
        • +

          unwatch

          +
          public void unwatch​(TOMMessage request)
          +
          Cancels a timer for a given request
          +
          +
          Parameters:
          +
          request - Request whose timer is to be canceled
          +
          +
        • +
        + + + +
          +
        • +

          clearAll

          +
          public void clearAll()
          +
          Cancels all timers for all messages
          +
        • +
        + + + +
          +
        • +

          run_lc_protocol

          +
          public void run_lc_protocol()
          +
        • +
        + + + +
          +
        • +

          setSTOP

          +
          public void setSTOP​(int regency,
          +                    LCMessage stop)
          +
        • +
        + + + +
          +
        • +

          stopAllSTOPs

          +
          public void stopAllSTOPs()
          +
        • +
        + + + +
          +
        • +

          stopSTOP

          +
          public void stopSTOP​(int regency)
          +
        • +
        + + + +
          +
        • +

          getTimers

          +
          public java.util.Set<java.lang.Integer> getTimers()
          +
        • +
        + + + +
          +
        • +

          shutdown

          +
          public void shutdown()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/package-summary.html b/docs/javadoc/bftsmart/tom/leaderchange/package-summary.html new file mode 100644 index 000000000..4530224c0 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/package-summary.html @@ -0,0 +1,192 @@ + + + + + +bftsmart.tom.leaderchange (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package bftsmart.tom.leaderchange

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/bftsmart/tom/leaderchange/package-tree.html b/docs/javadoc/bftsmart/tom/leaderchange/package-tree.html new file mode 100644 index 000000000..ff49cb555 --- /dev/null +++ b/docs/javadoc/bftsmart/tom/leaderchange/package-tree.html @@ -0,0 +1,169 @@ + + + + + +bftsmart.tom.leaderchange Class Hierarchy (library API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package bftsmart.tom.leaderchange

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object + +
    • +
    +
    +
    +
    + + + diff --git a/doc/bftsmart/tom/package-summary.html b/docs/javadoc/bftsmart/tom/package-summary.html similarity index 56% rename from doc/bftsmart/tom/package-summary.html rename to docs/javadoc/bftsmart/tom/package-summary.html index 4a1323820..8b91e6766 100644 --- a/doc/bftsmart/tom/package-summary.html +++ b/docs/javadoc/bftsmart/tom/package-summary.html @@ -1,37 +1,51 @@ - + - + - -bftsmart.tom - + +bftsmart.tom (library API) + + + + + + + + +var pathtoroot = "../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +

    Package bftsmart.tom