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)]
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 test_destination(self): candd = CandidateDestination() self.download._destination = candd self.assertFalse(self.download.candidate_destination()) commd = CommunityDestination(2) self.download._destination = commd self.assertFalse(self.download.community_destination())
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): 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), ]
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), ]
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): 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) ]