from .abstract_integration_test import AbstractIntegrationTest
from modules.replication.models.replica_structure import ReplicaStructure
from modules.replication.models.client_request import ClientRequest
from modules.replication.models.request import Request
from modules.replication.models.operation import Operation
from modules.enums import ReplicationEnums as re
from modules.constants import REQUEST, X_SET

# globals
F = 1
N = 6
logger = logging.getLogger(__name__)
start_state = {}

req1 = Request((ClientRequest(0, 189276398, Operation(
    "APPEND",
    1
))), 0, 1)
req2 = Request((ClientRequest(0, 189276399, Operation(
    "APPEND",
    2
))), 0, 2)
req3 = Request((ClientRequest(0, 189276402, Operation(
    "APPEND",
    3
))), 0, 3)

for i in range(N):
    start_state[str(i)] = {
        "REPLICATION_MODULE": {
            "rep": [
                ReplicaStructure(0, rep_state=[1],r_log=[{REQUEST: req1, X_SET:{0,2,3,5}}], prim=0),
예제 #2
0
from modules.replication.models.client_request import ClientRequest
from modules.replication.models.request import Request
from modules.replication.models.operation import Operation
from modules.constants import REQUEST, STATUS, MAXINT, SIGMA, X_SET, REPLY
from modules.enums import ReplicationEnums as enums

# globals
F = 1
N = 6
logger = logging.getLogger(__name__)
start_state = {}

client_req_1 = ClientRequest(0, 0, Operation("APPEND", 1))
client_req_2 = ClientRequest(0, 1, Operation("APPEND", 2))
client_req_3 = ClientRequest(0, 3, Operation("APPEND", 3))
req_1 = Request(client_req_1, 0, 1)

for i in range(N):
    start_state[str(i)] = {
        "REPLICATION_MODULE": {
            "rep": [
                ReplicaStructure(j,
                                 rep_state=[1],
                                 r_log=[{
                                     REQUEST: req_1,
                                     X_SET: {0, 1, 2, 3, 4, 5}
                                 }],
                                 pend_reqs=[client_req_2, client_req_3],
                                 last_req={0: {
                                     REQUEST: req_1,
                                     REPLY: [1]
예제 #3
0
from .abstract_integration_test import AbstractIntegrationTest
from modules.replication.models.replica_structure import ReplicaStructure
from modules.replication.models.client_request import ClientRequest
from modules.replication.models.request import Request
from modules.replication.models.operation import Operation
from modules.constants import REQUEST, STATUS, MAXINT, SIGMA, X_SET, REPLY
from modules.enums import ReplicationEnums as enums

# globals
F = 1
N = 6
logger = logging.getLogger(__name__)
start_state = {}

client_reqs = [ClientRequest(0, i, Operation("APPEND", i)) for i in range(20)]
reqs = [Request(client_reqs[i], 0, i) for i in range(20)]
r_logs = [{REQUEST: reqs[i], X_SET: {0, 1, 2, 3, 4}} for i in range(20)]

for i in range(N):
    start_state[str(i)] = {
        "REPLICATION_MODULE": {
            "rep": [
                ReplicaStructure(j,
                                 rep_state=[k for k in range(20)],
                                 r_log=r_logs[-15:],
                                 pend_reqs=[]) for j in range(N - 1)
            ] + [
                ReplicaStructure(
                    5, rep_state=[0], r_log=[r_logs[0]], pend_reqs=[])
            ]
        }
예제 #4
0
from modules.replication.models.client_request import ClientRequest
from modules.replication.models.request import Request
from modules.replication.models.operation import Operation
from modules.constants import REQUEST, STATUS, MAXINT, SIGMA, X_SET, REPLY
from modules.enums import ReplicationEnums as enums

# globals
F = 1
N = 6
logger = logging.getLogger(__name__)
start_state = {}

client_req_1 = ClientRequest(0, 0, Operation("APPEND", 1))
client_req_2 = ClientRequest(0, 1, Operation("APPEND", 2))
client_req_3 = ClientRequest(0, 3, Operation("APPEND", 3))
req_1 = Request(client_req_1, 0, 1)
req_2 = Request(client_req_2, 0, 2)

for i in range(N):
    start_state[str(i)] = {
        "REPLICATION_MODULE": {
            "rep": [
                ReplicaStructure(
                    j,
                    rep_state=[1],
                    r_log=[{REQUEST: req_1, X_SET: {0,1,2,3,4,5}}],
                    pend_reqs=[client_req_2, client_req_3],
                    req_q=[{REQUEST: req_2, STATUS:{enums.PRE_PREP}}],
                    last_req=[{0: {REQUEST: req_1, REPLY: [1]}}],
                    seq_num=1,
                    prim=0
from modules.replication.models.request import Request
from modules.replication.models.operation import Operation
from modules.enums import ReplicationEnums as re
from modules.constants import REQUEST, X_SET

# globals
F = 1
N = 6
logger = logging.getLogger(__name__)
start_state = {}

client_req1 = ClientRequest(0, 189276398, Operation("APPEND", 1))
client_req3 = ClientRequest(0, 189276402, Operation("APPEND", 3))
client_req2 = ClientRequest(0, 189276399, Operation("APPEND", 2))

req1 = Request(client_req1, 0, 0)
req2 = Request(client_req2, 0, 1)
req3 = Request(client_req3, 0, 2)

for i in range(N):
    start_state[str(i)] = {
        # force stable view_pair for all nodes
        "VIEW_ESTABLISHMENT_MODULE": {
            "views": [{
                "current": 0,
                "next": 0
            } for i in range(N)]
        },
        "REPLICATION_MODULE": {
            "rep": [
                ReplicaStructure(0,
예제 #6
0
from modules.enums import ReplicationEnums as re
from modules.constants import REQUEST, X_SET

# globals
F = 2
N = 11
logger = logging.getLogger(__name__)
start_state = {}

client_req1 = ClientRequest(0, 189276398, Operation("APPEND", 1))
client_req3 = ClientRequest(0, 189276402, Operation("APPEND", 3))
client_req2 = ClientRequest(0, 189276399, Operation("APPEND", 2))
client_req4 = ClientRequest(0, 189276399, Operation("APPEND", 4))
client_req5 = ClientRequest(0, 189276399, Operation("APPEND", 5))

req1 = Request(client_req1, 0, 0)
req2 = Request(client_req2, 0, 1)
req3 = Request(client_req3, 0, 2)
req4 = Request(client_req4, 0, 3)
req5 = Request(client_req5, 0, 3)

for i in range(N):
    start_state[str(i)] = {
        # force stable view_pair for all nodes
        "VIEW_ESTABLISHMENT_MODULE": {
            "views": [{
                "current": 0,
                "next": 0
            } for i in range(N)]
        },
        "REPLICATION_MODULE": {