import sys

from message_handler_node import define_message_types, NodeMessage


class DirectoryServerMessage(NodeMessage):
    pass


directory_server_messages = [
    'DirectoryServerJoin', 'DirectoryServerJoinContact',
    'DirectoryServerLeave', 'DirectoryServerGetRingContact',
    'DirectoryServerReturnRingContact'
]
define_message_types(
    sys.modules[__name__], directory_server_messages,
    lambda name, parent, members: type(name,
                                       (DirectoryServerMessage, ), members))
예제 #2
0

class DHTNodeMessage(NodeMessage):
    pass


message_types = [
    'ForwardMessage', 'PingMessage', 'PingResponse', 'JoinMessage',
    'JoinResponse', 'StabilizeGetSuccessorPredecessor',
    'StabilizeGotSuccessorPredecessor', 'StabilizeNotify', 'FindMessage',
    'FindResponse', 'GetMessage', 'GetResponse', 'AppendMessage',
    'AppendResponse', 'LeaveGetPredecessorSuccessor', 'LeaveMessage',
    'LeaveResponse', 'LeaveUpdateSuccessor'
]
define_message_types(
    sys.modules[__name__], message_types,
    lambda name, parent, members: type(name, (DHTNodeMessage, ), members))


def message_to_string(msg):
    d = msg.__dict__.copy()
    if 'id' in d:
        d['id'] = key_to_int(d['id'])
    return '%s: %s' % (msg.__class__.__name__, str(d))


class DHTNode(MessageHandlerNode):
    """
   Chord node

   Messages sent recursively
예제 #3
0
class DHTNodeMessage(NodeMessage):
  pass

message_types = [
  'ForwardMessage',
  'PingMessage', 'PingResponse',
  'JoinMessage', 'JoinResponse',
  'StabilizeGetSuccessorPredecessor', 'StabilizeGotSuccessorPredecessor', 'StabilizeNotify',  
  'FindMessage', 'FindResponse',
  'GetMessage', 'GetResponse',  
  'AppendMessage', 'AppendResponse',
  'LeaveGetPredecessorSuccessor', 'LeaveMessage', 'LeaveResponse', 'LeaveUpdateSuccessor'
]
define_message_types(
  sys.modules[__name__],
  message_types,
  lambda name, parent, members:type(name, (DHTNodeMessage,), members)
  )

def message_to_string(msg):
  d = msg.__dict__.copy()
  if 'id' in d:
    d['id'] = key_to_int(d['id'])
  return '%s: %s' % (msg.__class__.__name__, str(d))

class DHTNode(MessageHandlerNode):
  """
   Chord node

   Messages sent recursively
   Maintains an in-memory dict of node data
import sys

from message_handler_node import define_message_types, NodeMessage


class DirectoryServerMessage(NodeMessage):
    pass


directory_server_messages = [
    "DirectoryServerJoin",
    "DirectoryServerJoinContact",
    "DirectoryServerLeave",
    "DirectoryServerGetRingContact",
    "DirectoryServerReturnRingContact",
]
define_message_types(
    sys.modules[__name__],
    directory_server_messages,
    lambda name, parent, members: type(name, (DirectoryServerMessage,), members),
)