示例#1
0
 def initiate_meta_messages(self):
     return super(
         MortgageMarketCommunity, self).initiate_meta_messages() + [
             Message(self, u"introduce_user", MemberAuthentication(),
                     PublicResolution(), DirectDistribution(),
                     CandidateDestination(), DatabaseModelPayload(),
                     self.check_message, self.on_user_introduction),
             Message(
                 self, u"api_message_community", MemberAuthentication(),
                 PublicResolution(),
                 FullSyncDistribution(synchronization_direction=u"DESC",
                                      priority=200,
                                      enable_sequence_number=False),
                 CommunityDestination(node_count=50), APIMessagePayload(),
                 self.check_message, self.on_api_message),
             Message(self, u"api_message_candidate", MemberAuthentication(),
                     PublicResolution(), DirectDistribution(),
                     CandidateDestination(), APIMessagePayload(),
                     self.check_message, self.on_api_message),
             Message(
                 self, u"signed_confirm",
                 DoubleMemberAuthentication(allow_signature_func=self.
                                            allow_signed_confirm_request),
                 PublicResolution(), DirectDistribution(),
                 CandidateDestination(), SignedConfirmPayload(),
                 self._generic_timeline_check,
                 self.received_signed_confirm_response),
         ]
 def initiate_meta_messages(self):
     """
     Setup all message that can be received by this community and the super classes.
     :return: list of meta messages.
     """
     return super(TrustChainCommunity, self).initiate_meta_messages() + [
         Message(self, HALF_BLOCK, NoAuthentication(), PublicResolution(),
                 DirectDistribution(), CandidateDestination(),
                 HalfBlockPayload(), self._generic_timeline_check,
                 self.received_half_block),
         Message(self, CRAWL, MemberAuthentication(), PublicResolution(),
                 DirectDistribution(), CandidateDestination(),
                 CrawlRequestPayload(), self._generic_timeline_check,
                 self.received_crawl_request)
     ]
 def initiate_meta_messages(self):
     """>EXTEND< the current meta messages with our custom Flood type.
     """
     messages = super(FloodCommunity, self).initiate_meta_messages()
     ourmessages = [
         Message(
             self,
             u"flood",
             # Unique identifier
             MemberAuthentication(encoding="sha1"),
             # Member identifier hash type
             PublicResolution(),
             # All members can add messages
             FullSyncDistribution(enable_sequence_number=False,
                                  synchronization_direction=u"ASC",
                                  priority=255),
             # Synchronize without sequence number, delivering messages with the lowest
             # (Lamport) global time first and the highest priority
             CommunityDestination(node_count=10),
             # Push to >AT MOST< 10 other nodes initially
             FloodPayload(),
             # The object to actually carry our payload
             self.check_flood,
             # Callback to validate a received message
             self.on_flood,
             # Callback to actually handle a validated
             # message
             batch=BatchConfiguration(0.0))
     ]  # Amount of time (seconds) to save up messages before handling them
     messages.extend(ourmessages)
     return messages
 def initiate_meta_messages(self):
     return [
         Message(
             self, u"text", MemberAuthentication(encoding="bin"),
             PublicResolution(),
             FullSyncDistribution(enable_sequence_number=False,
                                  synchronization_direction=u"RANDOM",
                                  priority=128),
             CommunityDestination(node_count=0), TextPayload(),
             self.check_text, self.on_text)
     ]
 def initiate_meta_messages(self):
     return super(ExampleCommunity, self).initiate_meta_messages() + [
         Message(self, u"example",
                 MemberAuthentication(encoding="sha1"),
                 PublicResolution(),
                 DirectDistribution(),
                 CommunityDestination(node_count=10),
                 ExamplePayload(),
                 self.check_message,
                 self.on_example),
     ]
示例#6
0
 def initiate_meta_messages(self):
     return super(MarketCommunity, self).initiate_meta_messages() + [
         Message(
             self, u"create-ask", MemberAuthentication(encoding="sha1"),
             PublicResolution(),
             FullSyncDistribution(enable_sequence_number=False,
                                  synchronization_direction=u"ASC",
                                  priority=128),
             CommunityDestination(node_count=0), AskPayload(),
             self.check_message, self.on_ask)
     ]
 def initiate_meta_messages(self):
     return super(MoneyCommunity, self).initiate_meta_messages() + [
         Message(self, u"services-info", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10), ServicesInfoPayload(),
                 self.check_message, self.on_services_info),
         Message(self, u"capacity-query", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10),
                 CapacityQueryPayload(), self.check_capacity_query,
                 self.on_capacity_query),
         Message(self, u"capacity-response", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10),
                 CapacityResponsePayload(), self.check_message,
                 self.on_capacity_response),
         Message(self, u"payment-to-switch", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10),
                 PaymentToSwitchPayload(),
                 self.check_payment_to_switch_message,
                 self.on_payment_to_switch_message),
         Message(self, u"payment-from-switch", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10),
                 PaymentFromSwitchPayload(), self.check_message,
                 self.on_payment_from_switch_message),
         Message(self, u"rollback", MemberAuthentication(),
                 PublicResolution(), DirectDistribution(),
                 CommunityDestination(node_count=10), RollbackPayload(),
                 self.check_message, self.on_rollback_message),
     ]
示例#8
0
    def initiate_meta_messages(self):
        '''
        Create the packaging for your message payloads,
        in this case we have one message type that is distributed to all peers
        '''

        return super(ExampleCommunity, self).initiate_meta_messages() + [
            Message(self,
                    u"text",
                    MemberAuthentication(encoding="sha1"),
                    PublicResolution(),
                    FullSyncDistribution(enable_sequence_number=False,
                                         synchronization_direction=u"ASC",
                                         priority=128),
                    CommunityDestination(node_count=10),
                    TextPayload(),
                    self.check_text,
                    self.on_text,
                    batch=BatchConfiguration(max_window=5.0))
        ]
 def initiate_meta_messages(self):
     """
     Overwrite
     """
     self._small_file_distribution = FullSyncDistribution(DISTRIBUTION_DIRECTION, DISTRIBUTION_PRIORITY, True)
     self._file_hash_distribution = FullSyncDistribution(DISTRIBUTION_DIRECTION, DISTRIBUTION_PRIORITY, True)
     self._addresses_distribution = DirectDistribution()
     self._addresses_request_distribution = DirectDistribution()
     self._puncture_distribution = DirectDistribution()
     self._puncture_response_distribution = DirectDistribution()
     self._api_message_distribution = DirectDistribution()
     return [Message(self, SMALL_FILE_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._small_file_distribution, CommunityDestination(NUMBER_OF_PEERS_TO_SYNC), SmallFilePayload(), 
                     self.small_file_message_check, self.small_file_message_handle),
             Message(self, FILE_HASH_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._file_hash_distribution, CommunityDestination(NUMBER_OF_PEERS_TO_SYNC), FileHashPayload(), 
                      self.file_hash_check, self.file_hash_handle),
             Message(self, ADDRESSES_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._addresses_distribution, CandidateDestination(), AddressesPayload(), 
                     self.addresses_message_check, self.addresses_message_handle),
             Message(self, ADDRESSES_REQUEST_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._addresses_request_distribution, CandidateDestination(), AddressesRequestPayload(), 
                     self.addresses_request_message_check, self.addresses_request_message_handle),
             Message(self, PUNCTURE_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._puncture_distribution, CandidateDestination(), PuncturePayload(), 
                     self.puncture_check, self.puncture_handle),
             Message(self, PUNCTURE_RESPONSE_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._puncture_response_distribution, CandidateDestination(), PunctureResponsePayload(), 
                     self.puncture_response_check, self.puncture_response_handle),
             Message(self, API_MESSAGE_NAME, MemberAuthentication(encoding="sha1"), PublicResolution(), 
                     self._api_message_distribution, CandidateDestination(), APIMessagePayload(), 
                     self.api_message_check, self.api_message_handle)]
示例#10
0
 def initiate_meta_messages(self):
     return super(MarketCommunity, self).initiate_meta_messages() + [
         Message(self, u"ask",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CommunityDestination(node_count=10),
                 OfferPayload(),
                 self.check_message,
                 self.on_ask),
         Message(self, u"bid",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CommunityDestination(node_count=10),
                 OfferPayload(),
                 self.check_message,
                 self.on_bid),
         Message(self, u"proposed-trade",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 TradePayload(),
                 self.check_message,
                 self.on_proposed_trade),
         Message(self, u"accepted-trade",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CommunityDestination(node_count=10),
                 AcceptedTradePayload(),
                 self.check_message,
                 self.on_accepted_trade),
         Message(self, u"declined-trade",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 DeclinedTradePayload(),
                 self.check_message,
                 self.on_declined_trade),
         Message(self, u"counter-trade",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 TradePayload(),
                 self.check_message,
                 self.on_counter_trade),
         Message(self, u"start-transaction",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 StartTransactionPayload(),
                 self.check_message,
                 self.on_start_transaction),
         Message(self, u"continue-transaction",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 TransactionPayload(),
                 self.check_message,
                 self.on_continue_transaction),
         Message(self, u"multi-chain-payment",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 MultiChainPaymentPayload(),
                 self.check_message,
                 self.on_multi_chain_payment),
         Message(self, u"bitcoin-payment",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 BitcoinPaymentPayload(),
                 self.check_message,
                 self.on_bitcoin_payment),
         Message(self, u"end-transaction",
                 MemberAuthentication(),
                 PublicResolution(),
                 DirectDistribution(),
                 CandidateDestination(),
                 TransactionPayload(),
                 self.check_message,
                 self.on_end_transaction)
     ]