<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.2">
  <help_text>// Uncomment the following line to change the fontsize and font:
fontsize=13
fontfamily=Monospaced //possible: SansSerif,Serif,


//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use +/- or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements &gt; New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////


// This text will be stored with each diagram;  use it for notes.</help_text>
  <zoom_level>8</zoom_level>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>448</x>
      <y>712</y>
      <w>200</w>
      <h>216</h>
    </coordinates>
    <panel_attributes>siri_t
--
args: *siri_args_t
backup: *uv_timer_t
cfg: *siri_cfg_t
fh: *siri_fh_t
grammar: *cleri_grammar_t
heartbeat: *uv_timer_t
loop: * uv_loop_t
optimize: *siri_optimize_t
siridb_list: *llist_t
siridb_mutex: uv_mutex_t
startup_time: uint32_t
status: siri_status_t
--
siri_start(): int
siri_free(): void
siri_setup_logger(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>752</x>
      <y>712</y>
      <w>224</w>
      <h>632</h>
    </coordinates>
    <panel_attributes>siridb_t
--
active_tasks: uint16_t 
buffer_fp: *FILE
buffer_len: size_t 
buffer_path: * char
buffer_size: size_t 
dbname: * char
dbpath: * char
drop_threshold: double 
dropped_fp: *FILE
duration_log: uint64_t 
duration_num: uint64_t 
fifo: *siridb_fifo_t
flags: uint8_t 
groups: *siridb_groups_t
index_size: size_t 
insert_tasks: uint16_t 
max_series_id: uint32_t
pools: *siridb_pools_t
received_points: size_t 
ref: uint16_t
reindex: *siridb_reindex_t
replica: * siridb_server_t
replicate: *siridb_replicate_t
series: *ct_t
series_map: *imap_t
series_mutex: uv_mutex_t 
server: * siridb_server_t
servers: *llist_t
shard_mask_log: uint16_t 
shard_mask_num: uint16_t 
shards: *imap_t
shards_mutex: uv_mutex_t 
start_ts: time_t 
store: *qp_fpacker_t
time: * siridb_time_t
tz: iso8601_tz_t 
users: *llist_t
uuid: uuid_t 
--
siridb__free(): void
siridb_decref(): void
siridb_decref_cb(): void
siridb_from_unpacker(): int
siridb_get(): *siridb_t
siridb_incref(): void
siridb_is_db_path(): int
siridb_is_reindexing(): int
siridb_new(): *siridb_t
siridb_open_files(): int
siridb_save(): int
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>640</x>
      <y>816</y>
      <w>128</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..*</panel_attributes>
    <additional_attributes>10.0;10.0;140.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1048</x>
      <y>712</y>
      <w>296</w>
      <h>192</h>
    </coordinates>
    <panel_attributes>lt=.
servers
--
siridb_servers_available(): int
siridb_servers_by_name(): *siridb_server_t
siridb_servers_by_uuid(): *siridb_server_t
siridb_servers_free(): void
siridb_servers_get_file(): ssize_t
siridb_servers_list(): int
siridb_servers_load(): int
siridb_servers_online(): int
siridb_servers_other2vec(): *vec_t
siridb_servers_register(): int
siridb_servers_save(): int
siridb_servers_send_flags(): void
siridb_servers_send_pkg(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1432</x>
      <y>408</y>
      <w>288</w>
      <h>560</h>
    </coordinates>
    <panel_attributes>server_t
--
address: *char
buffer_path: *char
buffer_size: size_t
dbpath: *char
flags: uint8_t
id: uint8_t
ip_support: uint8_t
libuv: *char
name: *char
pid: uint16_t 
pool: uint16_t
port: uint16_t
promises: *imap_t
ref: uint16_t
socket: *uv_tcp_t
startup_time: uint32_t
uuid: uuid_t
version: *char
--
siridb__server_free(): void
siridb_server_cexpr_cb(): int
siridb_server_cmp(): int 
siridb_server_connect(): void
siridb_server_decref(): void
siridb_server_drop(): int
siridb_server_from_node(): *siridb_server_t
siridb_server_incref(): void
siridb_server_is_accessible(): int
siridb_server_is_available(): int
siridb_server_is_connected(): int
siridb_server_is_online(): int
siridb_server_is_remote_prop(): int
siridb_server_is_synchronizing(): int
siridb_server_new(): *siridb_server_t
siridb_server_register(): *siridb_server_t
siridb_server_self_accessible(): int
siridb_server_self_available(): int
siridb_server_self_online(): int
siridb_server_self_synchronizing(): int
siridb_server_send_flags(): void
siridb_server_send_pkg(): int
siridb_server_str_status(): *char
siridb_server_update_address(): int 
siridb_server_update_flags(): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>920</y>
      <w>480</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1..*</panel_attributes>
    <additional_attributes>10.0;10.0;580.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>800</y>
      <w>96</w>
      <h>24</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>10.0;10.0;100.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1336</x>
      <y>800</y>
      <w>112</w>
      <h>24</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>120.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>504</x>
      <y>544</y>
      <w>200</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>iso8601_tz_t
--
tz: iso8601_tz_t
--
iso8601_tz(): iso8601_tz_t
iso8601_tzname(): const *char
iso8601_parse_date(): int64_t
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>448</x>
      <y>992</y>
      <w>200</w>
      <h>112</h>
    </coordinates>
    <panel_attributes>siri_fh_t
--
size: uint16_t
idx: uint16_t
fpointers: **siri_fp_t
--
siri_fh_new(): *siri_fh_t
siri_fh_free(): void
siri_fopen(): int
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>448</x>
      <y>1176</y>
      <w>200</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>siri_fp_t
--
fp: *FILE
ref: uint8_t
--
siri_fp_new(): *siri_fp_t
siri_fp_decref(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>536</x>
      <y>920</y>
      <w>24</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>536</x>
      <y>1096</y>
      <w>64</w>
      <h>96</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..size</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>736</x>
      <y>1528</y>
      <w>288</w>
      <h>352</h>
    </coordinates>
    <panel_attributes>siridb_shard_t
--
flags: uint8_t
fn: *char
fp: *siri_fp_t
id: uint64_t
max_chunk_sz: uint16_t
ref: uint32_t
replacing: *siridb_shard_t
tp: uint8_t
--
siridb__shard_decref(): void
siridb__shard_free(): void 
siridb_shard_cexpr_cb(): int
siridb_shard_create(): *siridb_shard_t
siridb_shard_decref(): void
siridb_shard_drop(): void
siridb_shard_get_points_log32(): int
siridb_shard_get_points_log64(): int
siridb_shard_get_points_num32(): int
siridb_shard_get_points_num64(): int
siridb_shard_get_size(): ssize_t
siridb_shard_incref(): void
siridb_shard_load(): int
siridb_shard_optimize(): int
siridb_shard_remove(): int
siridb_shard_status(): void
siridb_shard_write_flags(): int
siridb_shard_write_points(): long int</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>784</x>
      <y>1408</y>
      <w>256</w>
      <h>56</h>
    </coordinates>
    <panel_attributes>lt=.
shards
--
siridb_shards_add_points(): int
siridb_shards_load(): int</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>872</x>
      <y>1336</y>
      <w>24</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>872</x>
      <y>1456</y>
      <w>24</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>760</x>
      <y>1336</y>
      <w>48</w>
      <h>208</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..*</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;240.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>640</x>
      <y>1024</y>
      <w>112</w>
      <h>584</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
</panel_attributes>
    <additional_attributes>10.0;10.0;90.0;10.0;90.0;710.0;120.0;710.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>536</x>
      <y>1256</y>
      <w>216</w>
      <h>440</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=1
m2=1</panel_attributes>
    <additional_attributes>250.0;520.0;10.0;520.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1104</x>
      <y>1048</y>
      <w>296</w>
      <h>488</h>
    </coordinates>
    <panel_attributes>siridb_series_t
--
buffer: *siridb_buffer_t
end: uint64_t
flags: uint8_t
id: uint32_t
idx: *idx_t
idx_len: uint32_t
length: uint32_t
mask: uint16_t
name: *char
name_len: uint16_t
pool: uint16_t
ref: uint32_t 
start: uint64_t 
tp: uint8_t
--
siridb__series_decref(): void
siridb__series_free(): void
siridb_series_add_idx(): int
siridb_series_add_pcache(): int 
siridb_series_add_point(): int 
siridb_series_cexpr_cb(): int
siridb_series_decref(): void
siridb_series_drop(): int
siridb_series_drop_commit(): int
siridb_series_drop_prepare(): void
siridb_series_flush_dropped(): int
siridb_series_get_points(): *siridb_points_t
siridb_series_incref(): void
siridb_series_isnum(): int
siridb_series_load(): int
siridb_series_new(): *siridb_series_t
siridb_series_open_store(): int
siridb_series_optimize_shard(): int
siridb_series_remove_shard(): void
siridb_series_replicate_file(): int
siridb_series_server_id(): int
siridb_series_server_id_by_name(): uint8_t
siridb_series_update_props(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>1096</y>
      <w>152</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..*</panel_attributes>
    <additional_attributes>10.0;10.0;170.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1104</x>
      <y>1608</y>
      <w>296</w>
      <h>128</h>
    </coordinates>
    <panel_attributes>idx_t
--
end_ts: uint64_t
len: uint16_t
log_sz: uint16_t
pos: uint32_t
shard: *siridb_shard_t
start_ts: uint64_t
--
/functions can be found in/
/siridb_series_t class/</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1248</x>
      <y>1528</y>
      <w>56</w>
      <h>96</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..len</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1016</x>
      <y>1664</y>
      <w>104</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=0..*
m2=1</panel_attributes>
    <additional_attributes>110.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1464</x>
      <y>992</y>
      <w>256</w>
      <h>280</h>
    </coordinates>
    <panel_attributes>siridb_groups_t
--
flags: uint8_t
fn: *char
groups: *ct_t
mutex: uv_mutex_t 
ngroups: *vec_t
nseries: *vec_t
ref: uint8_t
status: uint8_t
work: uv_work_t
--
siridb_groups_add_group(): int
siridb_groups_add_series(): void
siridb_groups_decref(): void
siridb_groups_destroy(): void
siridb_groups_drop_group(): int
siridb_groups_get_file(): ssize_t
siridb_groups_init_nseries(): void
siridb_groups_new(): *siridb_groups_t
siridb_groups_pkg(): *sirinet_pkg_t
siridb_groups_save(): int
siridb_groups_start(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>1016</y>
      <w>512</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1</panel_attributes>
    <additional_attributes>10.0;10.0;620.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1464</x>
      <y>1352</y>
      <w>256</w>
      <h>280</h>
    </coordinates>
    <panel_attributes>siridb_group_t
--
flags: uint16_t
n: uint32_t
name: *char
ref: uint16_t
regex: *pcre 
regex_extra: *pcre_extra
series: *vec_t
source: *char
--
siridb__group_decref(): void
siridb__group_free(): void
siridb_group_cexpr_cb(): int
siridb_group_cleanup(): void
siridb_group_decref(): void
siridb_group_incref(): void
siridb_group_is_remote_prop(): int
siridb_group_new(): *siridb_group_t
siridb_group_prop(): void
siridb_group_set_name(): int
siridb_group_test_series(): int
siridb_group_update_expression(): int</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1576</x>
      <y>1264</y>
      <w>48</w>
      <h>104</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..*</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;110.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1392</x>
      <y>1304</y>
      <w>168</w>
      <h>64</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=0..*
m2=0..*</panel_attributes>
    <additional_attributes>160.0;60.0;160.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>120</x>
      <y>712</y>
      <w>200</w>
      <h>144</h>
    </coordinates>
    <panel_attributes>cfg_t
--
default_db_path[]: char
heartbeat_interval: uint16_t
ip_support: uint8_t
listen_backend_port: uint16_t
listen_client_port: uint16_t
max_open_files: uint16_t
optimize_interval: uint32_t
server_address[]: char
--
siri_cfg_init(): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>760</y>
      <w>152</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>lt=-()
m2=cfg file
</panel_attributes>
    <additional_attributes>170.0;20.0;10.0;20.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>600</x>
      <y>624</y>
      <w>184</w>
      <h>104</h>
    </coordinates>
    <panel_attributes>lt=-()
m2=tz translation
</panel_attributes>
    <additional_attributes>210.0;110.0;210.0;60.0;10.0;60.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1096</x>
      <y>456</y>
      <w>248</w>
      <h>216</h>
    </coordinates>
    <panel_attributes>siridb_fifo_t
--
path: *char
fifos: *llist_t
in: *siridb_ffile_t
out: *siridb_ffile_t
max_id: ssize_t 
--
siridb_fifo_append(): int
siridb_fifo_close(): int
siridb_fifo_commit(): int
siridb_fifo_commit_err(): int
siridb_fifo_free(): void
siridb_fifo_has_data(): uint32_t
siridb_fifo_is_open(): int
siridb_fifo_new(): *siridb_fifo_t
siridb_fifo_open(): int 
siridb_fifo_pop(): *sirinet_pkg_t
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>944</x>
      <y>640</y>
      <w>168</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..1</panel_attributes>
    <additional_attributes>10.0;90.0;10.0;10.0;190.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>120</x>
      <y>920</y>
      <w>200</w>
      <h>96</h>
    </coordinates>
    <panel_attributes>args_t
--
config[]: char
log_colorized: int32_t
log_level[]: char
version: int32_t
--
siri_args_parse(): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>208</x>
      <y>848</y>
      <w>56</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=&lt;.
config</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>856</y>
      <w>152</w>
      <h>128</h>
    </coordinates>
    <panel_attributes>lt=-()
m2=startup arguments
</panel_attributes>
    <additional_attributes>170.0;10.0;90.0;10.0;90.0;130.0;10.0;130.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1808</x>
      <y>832</y>
      <w>280</w>
      <h>192</h>
    </coordinates>
    <panel_attributes>siridb_pools_t
--
len: uint16_t
pool: *siridb_pool_t
lookup: *siridb_lookup_t
prev_lookup: *siridb_lookup_t 
--
siridb_pools_accessible(): int
siridb_pools_append(): *siridb_pool_t
siridb_pools_available(): int
siridb_pools_free(): void
siridb_pools_gen_lookup(): *siridb_lookup_t
siridb_pools_init(): void
siridb_pools_online(): int
siridb_pools_send_pkg(): void
siridb_pools_send_pkg_2some(): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>968</y>
      <w>856</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1</panel_attributes>
    <additional_attributes>10.0;10.0;1050.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1808</x>
      <y>576</y>
      <w>280</w>
      <h>192</h>
    </coordinates>
    <panel_attributes>siridb_pool_t
--
len: uint16_t
server[2]: *siridb_server_t
--
siridb_pool_accessible(): int
siridb_pool_add_server(): void
siridb_pool_available(): int
siridb_pool_cexpr_cb(): int
siridb_pool_online(): int
siridb_pool_send_pkg(): int
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1944</x>
      <y>760</y>
      <w>48</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1..*</panel_attributes>
    <additional_attributes>10.0;90.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1712</x>
      <y>664</y>
      <w>112</w>
      <h>32</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=1
m2=1..len</panel_attributes>
    <additional_attributes>120.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1096</x>
      <y>160</y>
      <w>248</w>
      <h>216</h>
    </coordinates>
    <panel_attributes>siridb_ffile_t
--
fd: int
fn: *char
fp: *FILE
free_space: uint32_t
id: uint64_t
next_size: uint32_t
size: long int
--
siridb_ffile_append(): siridb_ffile_result_t
siridb_ffile_check_fn(): int
siridb_ffile_free(): void
siridb_ffile_new(): *siridb_ffile_t
siridb_ffile_open(): void
siridb_ffile_pop(): *sirinet_pkg_t
siridb_ffile_pop_commit(): int
siridb_ffile_unlink(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1224</x>
      <y>368</y>
      <w>48</w>
      <h>104</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1..*</panel_attributes>
    <additional_attributes>10.0;110.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>808</x>
      <y>456</y>
      <w>256</w>
      <h>120</h>
    </coordinates>
    <panel_attributes>lt=.
users
--
siridb_users_add_user(): int
siridb_users_drop_user(): int
siridb_users_free(): void
siridb_users_get_file(): ssize_t
siridb_users_get_user(): *siridb_user_t
siridb_users_load(): int
siridb_users_save(): *int </panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>744</x>
      <y>184</y>
      <w>232</w>
      <h>192</h>
    </coordinates>
    <panel_attributes>siridb_user_t
--
ref: uint16_t
access_bit: uint32_t
name: *char
password: *char
--
siridb_user_new(): *siridb_user_t
siridb_user_prop(): void 
siridb_user_set_name(): int 
siridb_user_set_password(): int 
siridb_user_check_access(): int 
siridb__user_free(): void 
siridb_user_cexpr_cb(): int
siridb_user_incref(): void
siridb_user_decref(): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>776</x>
      <y>368</y>
      <w>48</w>
      <h>360</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=0..*</panel_attributes>
    <additional_attributes>10.0;430.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>856</x>
      <y>568</y>
      <w>24</w>
      <h>160</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>10.0;180.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>856</x>
      <y>368</y>
      <w>24</w>
      <h>104</h>
    </coordinates>
    <panel_attributes>lt=.</panel_attributes>
    <additional_attributes>10.0;110.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1432</x>
      <y>104</y>
      <w>288</w>
      <h>232</h>
    </coordinates>
    <panel_attributes>sirinet_socket_t
--
buf: *char
len: size_t 
on_data: on_data_cb_t 
origin: *void
ref: uint32_t 
siridb: *siridb_t
tcp: uv_tcp_t
tp: sirinet_socket_tp_t
--
sirinet__socket_free(): void
sirinet_addr_and_port(): int
sirinet_socket_alloc_buffer(): void 
sirinet_socket_decref(): void
sirinet_socket_incref(): void
sirinet_socket_ip_support_str(): const *char
sirinet_socket_new(): *uv_tcp_t
sirinet_socket_on_data(): void 
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1576</x>
      <y>328</y>
      <w>24</w>
      <h>96</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-&gt;&gt;&gt;&gt;
m2=1
</panel_attributes>
    <additional_attributes>10.0;100.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>968</x>
      <y>128</y>
      <w>480</w>
      <h>128</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=0..origin
m2=0..*
</panel_attributes>
    <additional_attributes>10.0;130.0;90.0;130.0;90.0;10.0;580.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>120</x>
      <y>544</y>
      <w>200</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=.
clserver
--
sirinet_clserver_init(): int
--
/responsible for client /
/connections and requests/</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>120</x>
      <y>416</y>
      <w>200</w>
      <h>88</h>
    </coordinates>
    <panel_attributes>lt=.
bserver
--
sirinet_bserver_init(): int
--
/responsible for server /
/connections and requests/</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>32</y>
      <w>1296</w>
      <h>456</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1..*</panel_attributes>
    <additional_attributes>10.0;540.0;90.0;540.0;90.0;10.0;1570.0;10.0;1570.0;90.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>48</y>
      <w>1232</w>
      <h>568</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-
m1=1
m2=1..*</panel_attributes>
    <additional_attributes>10.0;680.0;110.0;680.0;110.0;10.0;1490.0;10.0;1490.0;70.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>72</x>
      <y>584</y>
      <w>64</w>
      <h>192</h>
    </coordinates>
    <panel_attributes>lt=&lt;.
config</panel_attributes>
    <additional_attributes>60.0;10.0;10.0;10.0;10.0;220.0;60.0;220.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>32</x>
      <y>448</y>
      <w>104</w>
      <h>368</h>
    </coordinates>
    <panel_attributes>lt=&lt;.
config</panel_attributes>
    <additional_attributes>110.0;10.0;10.0;10.0;10.0;440.0;110.0;440.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>608</y>
      <w>200</w>
      <h>120</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>230.0;130.0;230.0;90.0;40.0;90.0;40.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>312</x>
      <y>480</y>
      <w>216</w>
      <h>248</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>250.0;290.0;250.0;230.0;60.0;230.0;60.0;10.0;10.0;10.0</additional_attributes>
  </element>
</diagram>
