10.1.1.1. dcsim.framework package

10.1.1.1.1. Submodules

10.1.1.1.2. dcsim.framework.AdversaryControllerBase module

class dcsim.framework.AdversaryControllerBase.AdversaryControllerBase

Bases: object

Initalize the Adversary Controller, set the config, get the list of all corrupted nodes

Parameters:config – Configuration of the protocol
add_honest_node_messages()

add messages(messages_to_send) sent from node(sender_id) in designated (round) to adversary controller

Parameters:
  • round – the round that the messages are in
  • sender_id – the id of the sender
  • messages_to_send – A list that contains the new messages
corrupted_node_list
get_delivered_messages()

get all delivered messages in designated round

Parameters:round – the round that these messages are in
round_action(round: int) → None

the action of adversary controller in designated round

set_honest_node_list()
set_trusted_third_party()

10.1.1.1.3. dcsim.framework.ConfigurationBase module

class dcsim.framework.ConfigurationBase.ConfigurationBase

Bases: object

adversary_controller_type
Returns:the type of the adversary controller’s type
honest_node_type
Returns:the type of the hoest node
measurement_type
Returns:the type of the Measurement(Base)
num_corrupted_nodes
Returns:number of the corrupted nodes
num_honest_nodes
Returns:number of honest nodes

10.1.1.1.4. dcsim.framework.Context module

class dcsim.framework.Context.Context(nodes: typing.Tuple[<function NewType.<locals>.new_type at 0x1087282f0>, ...], round: int, node: dcsim.framework.NodeBase.NodeBase, received_messages: typing.Tuple[dcsim.framework.MessageTuple.MessageTuple, ...]) → None

Bases: object

class docstring

initialize the Context class

Parameters:
  • nodes – nodes that will be broadcasted
  • node – sender
  • received_messages – having the shape of [(sender_id, receiver_id, round, message)] contains all messages that this node has received in this round.
broadcast(message: typing.Any) → None

broadcast a message to all nodes

Parameters:message – the message to be broadcast
messages_to_send

return the messages to be sent

Returns:A list contains all the messages to be sent
received_messages

reture the received messages

Returns:a tuple contains all the received messages
round
send(receiver: <function NewType.<locals>.new_type at 0x1087282f0>, message: typing.Any) → None

sends a message to a given node

Parameters:
  • receiver – the ndoe that will receive the message
  • message – the message to be sent

10.1.1.1.5. dcsim.framework.MeasurementBase module

class dcsim.framework.MeasurementBase.MeasurementBase

Bases: object

Initialize the MeasurementBase

Parameters:
  • honest_nodes – the honest nodes
  • adversary – the adversary controller is used
  • config – the configuration is used
report_final() → None

report the all the conditions and the result in the end

report_round(round: int) → None

return the condition of each nodes at this round

Parameters:round – the index of the round
should_stop(round: int) → bool

determine whether the simulation should stop

Parameters:round – the round the simulation is at

10.1.1.1.6. dcsim.framework.MessageTuple module

class dcsim.framework.MessageTuple.MessageTuple

Bases: tuple

send message from sender to receiver in designated round

Create new instance of MessageTuple(sender, receiver, round, message)

message

Alias for field number 3

receiver

Alias for field number 1

round

Alias for field number 2

sender

Alias for field number 0

10.1.1.1.7. dcsim.framework.NodeBase module

class dcsim.framework.NodeBase.NodeBase

Bases: object

intitialze a Node, including the configuration

Parameters:config – the configuration of this node
static generate_node_id() → <function NewType.<locals>.new_type at 0x1087282f0>
id
Returns:node_id
round_action()

the action of a node in each round

set_node_list(node_ids: typing.Tuple[_ForwardRef('NodeId'), ...]) → None

set the node list using a tuple contains all the nodes

Parameters:node_ids
set_trusted_third_party()

10.1.1.1.8. dcsim.framework.NodeId module

10.1.1.1.9. dcsim.framework.Runner module

class dcsim.framework.Runner.Runner(config: dcsim.framework.ConfigurationBase.ConfigurationBase) → None

Bases: object

add_trusted_third_party(ttp)
init()
run()

10.1.1.1.10. dcsim.framework.TrustedThirdPartyBase module

class dcsim.framework.TrustedThirdPartyBase.TrustedThirdPartyBase(name: str) → None

Bases: object

call(caller: 'NodeId', function_name: str, args, kwargs)
name
round_action(round: int) → None

10.1.1.1.11. dcsim.framework.TrustedThirdPartyCaller module

class dcsim.framework.TrustedThirdPartyCaller.TrustedThirdPartyCaller

Bases: object

call(party_name: str, function_name: str, *args, **kwargs) → typing.Any

10.1.1.1.12. Module contents