Opened on 04/14/2017 at 07:08:24 AM

Closed on 08/29/2019 at 05:43:52 PM

Last modified on 10/08/2019 at 05:52:20 PM

#5138 closed change (rejected)

[emscripten] Convert serializing patterns.ini to C++

Reported by: trev Assignee: sergz
Priority: P2 Milestone:
Module: Core Keywords: closed-in-favor-of-gitlab
Cc: Blocked By: #5137
Blocking: #4122 Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by trev)


See #4122 for the rationale. We should serialize patterns.ini in C++ for better performance.

What to change

Create compiled/storage/serializer.cpp providing a Serializer class (should be exposed to JavaScript as _FilterStorage_Serializer). The parser should allocate a 64kB (?) buffer, with the pointer to the buffer being returned by its buffer property. FilterStorage.exportData (JavaScript, located in lib/filterStorage.js) should create a serializer instance and call Serializer.continue() until it returns 0 (no more data). Serializer.continue() should write output lines into the buffer (followed by newline character) until there is no more space and return the number of characters written. FilterStorage.exportData should then extract the lines and yield them.


  • The Serializer class should make a copy of the current subscriptions list when created, to avoid bogus output if something changes during export.
  • Methods FilterStorage.saveToDisk() and FilterStorage.getBackupFiles() can stay in JavaScript, without any changes.

Attachments (0)

Change History (6)

comment:1 Changed on 04/14/2017 at 07:08:40 AM by trev

  • Description modified (diff)

comment:2 Changed on 04/14/2017 at 07:11:35 AM by trev

  • Blocked By 5137 added
  • Blocking 4122 added
  • Description modified (diff)

comment:3 Changed on 04/14/2017 at 08:06:24 PM by trev

  • Owner trev deleted

comment:4 Changed on 09/13/2017 at 06:53:49 PM by sergz

  • Owner set to sergz

comment:5 Changed on 08/29/2019 at 09:57:25 AM by nps1337


Last edited on 10/08/2019 at 05:52:20 PM by kzar

comment:6 Changed on 08/29/2019 at 05:43:52 PM by sebastian

  • Keywords closed-in-favor-of-gitlab added
  • Resolution set to rejected
  • Status changed from new to closed

Sorry, but we switched to GitLab. If this issue is still relevant, please file it again in the new issue tracker.

Add Comment

Modify Ticket

Change Properties
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from sergz.
Note: See TracTickets for help on using tickets.