The getDataObject() method retrieves an object given a D1Client instance and a pid, but uses the CN resolve service to determine which member node to get the object from. It would be more efficient to get all objects from the member node contained in the passed in D1Client instance.
This would also have the effect of having getDataPackage get all objects from the same MN, which would probably be faster than calling CN resolve for each object.
Discussed this with @mbjones and verified that we will keep the current method, as it leverages the strength of DataONE (CN resolve() providing currently accessible MNs/objects).
The
getDataObject()
method retrieves an object given a D1Client instance and a pid, but uses the CNresolve
service to determine which member node to get the object from. It would be more efficient to get all objects from the member node contained in the passed in D1Client instance.This would also have the effect of having
getDataPackage
get all objects from the same MN, which would probably be faster than calling CNresolve
for each object.