| 1103 | write(SETITEM) |
| 1104 | |
| 1105 | def save_set(self, obj): |
| 1106 | save = self.save |
| 1107 | write = self.write |
| 1108 | |
| 1109 | if self.proto < 4: |
| 1110 | self.save_reduce(set, (list(obj),), obj=obj) |
| 1111 | return |
| 1112 | |
| 1113 | write(EMPTY_SET) |
| 1114 | self.memoize(obj) |
| 1115 | |
| 1116 | for batch in batched(obj, self._BATCHSIZE): |
| 1117 | write(MARK) |
| 1118 | try: |
| 1119 | for item in batch: |
| 1120 | save(item) |
| 1121 | except BaseException as exc: |
| 1122 | exc.add_note(f'when serializing {_T(obj)} element') |
| 1123 | raise |
| 1124 | write(ADDITEMS) |
| 1125 | dispatch[set] = save_set |
| 1126 | |
| 1127 | def save_frozenset(self, obj): |