Пример #1
0
def test_garbage_collection_object_action_serde() -> None:
    uid = UID()
    addr = Address(network=SpecificLocation(), device=SpecificLocation())

    msg = GarbageCollectObjectAction(id_at_location=uid, address=addr)

    blob = serialize(msg)

    msg2 = sy.deserialize(blob=blob)

    assert msg2.id_at_location == msg.id_at_location
    assert msg2.address == msg.address
Пример #2
0
    def __init__(
        self,
        name: Optional[str],
        network: Optional[Location] = None,
        domain: SpecificLocation = SpecificLocation(),
        device: Optional[Location] = None,
        vm: Optional[Location] = None,
        signing_key: Optional[SigningKey] = None,
        verify_key: Optional[VerifyKey] = None,
        root_key: Optional[VerifyKey] = None,
        db_path: Optional[str] = None,
    ):
        super().__init__(
            name=name,
            network=network,
            domain=domain,
            device=device,
            vm=vm,
            signing_key=signing_key,
            verify_key=verify_key,
            db_path=db_path,
        )

        self.immediate_services_with_reply.append(TransferObjectService)
        self.immediate_services_without_reply.append(SaveObjectService)

        # Grid Worker Services
        self._register_services()
Пример #3
0
    def __init__(
        self,
        name: Optional[str],
        domain_url: str,
        network: Optional[Location] = None,
        domain: SpecificLocation = SpecificLocation(),
        device: Optional[Location] = None,
        vm: Optional[Location] = None,
        signing_key: Optional[SigningKey] = None,
        verify_key: Optional[VerifyKey] = None,
        root_key: Optional[VerifyKey] = None,
        db_path: Optional[str] = None,
    ):
        super().__init__(
            name=name,
            network=network,
            domain=domain,
            device=device,
            vm=vm,
            signing_key=signing_key,
            verify_key=verify_key,
            db_path=db_path,
        )

        self.domain_client = connect(
            url=domain_url,  # Domain Address
            conn_type=GridHTTPConnection,  # HTTP Connection Protocol
            client_type=DomainClient,
        )
        self.immediate_services_with_reply.append(TransferObjectService)
        self.immediate_services_without_reply.append(SaveObjectService)

        # Grid Worker Services
        self._register_services()
Пример #4
0
def test_save_object_action_serde() -> None:
    obj = th.tensor([1, 2, 3])
    addr = Address(network=SpecificLocation(), device=SpecificLocation())

    storable = StorableObject(id=UID(), data=obj)
    msg = SaveObjectAction(obj=storable, address=addr)

    blob = serialize(msg)

    msg2 = sy.deserialize(blob=blob)

    assert (msg2.obj.data == msg.obj.data).all()

    # Tensors do not automatically get IDs anymore
    # assert msg2.obj.id == msg.obj.id
    assert msg2.address == msg.address
Пример #5
0
def test_save_object_action_serde() -> None:

    uid = UID()
    obj = th.tensor([1, 2, 3])
    addr = Address(network=SpecificLocation(), device=SpecificLocation())

    msg = SaveObjectAction(id_at_location=uid, obj=obj, address=addr)

    blob = msg.serialize()

    msg2 = sy.deserialize(blob=blob)

    assert msg2.id_at_location == msg.id_at_location
    assert (msg2.obj == msg.obj).all()
    # Tensors do not automatically get IDs anymore
    # assert msg2.obj.id == msg.obj.id
    assert msg2.address == msg.address
Пример #6
0
    def __init__(
        self,
        name: Optional[str],
        network: Optional[Location] = None,
        domain: SpecificLocation = SpecificLocation(),
        device: Optional[Location] = None,
        vm: Optional[Location] = None,
        signing_key: Optional[SigningKey] = None,
        verify_key: Optional[VerifyKey] = None,
        root_key: Optional[VerifyKey] = None,
        db_path: Optional[str] = None,
    ):
        super().__init__(
            name=name,
            network=network,
            domain=domain,
            device=device,
            vm=vm,
            signing_key=signing_key,
            verify_key=verify_key,
            db_path=db_path,
        )

        # Database Management Instances
        self.users = UserManager(db)
        self.roles = RoleManager(db)
        self.groups = GroupManager(db)
        self.disk_store = DiskObjectStore(db)
        self.environments = EnvironmentManager(db)
        self.setup = SetupManager(db)
        self.association_requests = AssociationRequestManager(db)
        self.data_requests = RequestManager(db)

        self.env_clients = {}
        self.setup_configs = {}

        # Grid Domain Services
        self.immediate_services_with_reply.append(AssociationRequestService)
        self.immediate_services_with_reply.append(DomainInfrastructureService)
        self.immediate_services_with_reply.append(SetUpService)
        self.immediate_services_with_reply.append(RegisterTensorService)
        self.immediate_services_with_reply.append(RoleManagerService)
        self.immediate_services_with_reply.append(UserManagerService)
        self.immediate_services_with_reply.append(DatasetManagerService)
        self.immediate_services_with_reply.append(GroupManagerService)
        self.immediate_services_with_reply.append(TransferObjectService)
        self.immediate_services_with_reply.append(RequestService)
        self._register_services()

        self.__handlers_flag = True
Пример #7
0
    def __init__(
        self,
        name: Optional[str],
        network: Optional[Location] = None,
        domain: SpecificLocation = SpecificLocation(),
        device: Optional[Location] = None,
        vm: Optional[Location] = None,
        signing_key: Optional[SigningKey] = None,
        verify_key: Optional[VerifyKey] = None,
        root_key: Optional[VerifyKey] = None,
        db_path: Optional[str] = None,
    ):
        super().__init__(
            name=name,
            network=network,
            domain=domain,
            device=device,
            vm=vm,
            signing_key=signing_key,
            verify_key=verify_key,
            db_path=db_path,
        )

        # Database Management Instances
        self.users = UserManager(db)
        self.roles = RoleManager(db)
        self.disk_store = DiskObjectStore(db)
        self.setup = SetupManager(db)
        self.association_requests = AssociationRequestManager(db)

        self.env_clients = {}

        # Grid Domain Services
        self.immediate_services_with_reply.append(AssociationRequestService)
        self.immediate_services_with_reply.append(SetUpService)
        self.immediate_services_with_reply.append(RoleManagerService)
        self.immediate_services_with_reply.append(UserManagerService)
        self.immediate_services_with_reply.append(BroadcastSearchService)
        self._register_services()
Пример #8
0
    def __init__(
        self,
        name: Optional[str],
        network: Optional[Location] = None,
        domain: SpecificLocation = SpecificLocation(),
        device: Optional[Location] = None,
        vm: Optional[Location] = None,
        signing_key: Optional[SigningKey] = None,
        verify_key: Optional[VerifyKey] = None,
        root_key: Optional[VerifyKey] = None,
        db_path: Optional[str] = None,
    ):
        super().__init__(
            name=name,
            network=network,
            domain=domain,
            device=device,
            vm=vm,
            signing_key=signing_key,
            verify_key=verify_key,
            db_path=db_path,
        )

        # Database Management Instances
        self.users = UserManager(db)
        self.roles = RoleManager(db)
        self.groups = GroupManager(db)
        self.disk_store = DiskObjectStore(db)
        if not os.getenv("MEMORY_STORE", None):
            self.store = DiskObjectStore(db)
        self.environments = EnvironmentManager(db)
        self.setup = SetupManager(db)
        self.association_requests = AssociationRequestManager(db)
        self.data_requests = RequestManager(db)

        self.env_clients = {}
        self.setup_configs = {}

        # Reset Node Services
        self.immediate_msg_with_reply_router = {}
        self.immediate_msg_without_reply_router = {}
        self.immediate_services_with_reply: List[Any] = []
        self.immediate_services_without_reply: List[Any] = []

        # Common Node Services
        self.immediate_services_with_reply.append(
            ImmediateObjectActionServiceWithReply)
        self.immediate_services_with_reply.append(ImmediateObjectSearchService)
        self.immediate_services_with_reply.append(GetReprService)
        self.immediate_services_with_reply.append(ResolvePointerTypeService)

        self.immediate_services_without_reply.append(ReprService)
        self.immediate_services_without_reply.append(HeritageUpdateService)
        self.immediate_services_without_reply.append(ChildNodeLifecycleService)
        self.immediate_services_without_reply.append(
            ImmediateObjectActionServiceWithoutReply)
        self.immediate_services_without_reply.append(
            ImmediateObjectSearchPermissionUpdateService)

        # Grid Domain Services
        self.immediate_services_with_reply.append(AssociationRequestService)
        self.immediate_services_with_reply.append(DomainInfrastructureService)
        self.immediate_services_with_reply.append(SetUpService)
        self.immediate_services_with_reply.append(RegisterTensorService)
        self.immediate_services_with_reply.append(RoleManagerService)
        self.immediate_services_with_reply.append(UserManagerService)
        self.immediate_services_with_reply.append(DatasetManagerService)
        self.immediate_services_with_reply.append(GroupManagerService)
        self.immediate_services_with_reply.append(TransferObjectService)
        self.immediate_services_with_reply.append(RequestService)

        self.immediate_services_without_reply.append(
            RequestServiceWithoutReply)
        self._register_services()