code: def restore(self, state):
          
  
          storage_data = state.get(u'storage_data', [])
          streaming_data = state.get(u'streaming_data', [])
  
          if len(storage_data) > self.storage_length or len(streaming_data) > self.streaming_length:
              raise ArgumentError("Cannot restore InMemoryStorageEngine, too many readings",
                                  storage_size=len(storage_data), storage_max=self.storage_length,
                                  streaming_size=len(streaming_data), streaming_max=self.streaming_length)
  
          self.storage_data = [IOTileReading.FromDict(x) for x in storage_data]
          self.streaming_data = [IOTileReading.FromDict(x) for x in streaming_data]
docs: Restore the state of this InMemoryStorageEngine from a dict.