def put_all(self, map):
check_not_none(map, "<STR_LIT>")<EOL>if not map:<EOL><INDENT>return ImmediateFuture(None)<EOL><DEDENT>partition_service = self._client.partition_service<EOL>partition_map = {}<EOL>for key, value in six.iteritems(map):<EOL><INDENT>check_not_none(key, "<STR_LIT>")<EOL>check_not_none(value, "<STR_LIT>")<EOL>entry = (self._to_data(key), self._to_data(value))<EOL>partition_id = partition_service.get_partition_id(entry[<NUM_LIT:0>])<EOL>try:<EOL><INDENT>partition_map[partition_id].append(entry)<EOL><DEDENT>except KeyError:<EOL><INDENT>partition_map[partition_id] = [entry]<EOL><DEDENT><DEDENT>futures = []<EOL>for partition_id, entry_list in six.iteritems(partition_map):<EOL><INDENT>future = self._encode_invoke_on_partition(map_put_all_codec, partition_id, entries=dict(entry_list))<EOL>futures.append(future)<EOL><DEDENT>return combine_futures(*futures)<EOL>
Copies all of the mappings from the specified map to this map. No atomicity guarantees are
given. In the case of a failure, some of the key-value tuples may get written, while others are not.

:param map: (dict), map which includes mappings to be stored in this map.