Hi,
In the below data structures, is there any way to make &mergeable apply to
the set[port]s? If I make empty_smtp_servers &mergeable, I get an error. If
I make data &mergeable, will it propagate all the way down to the
smtp_servers tables?
type SMTPServers: table[addr] of set[port];
const empty_set_of_ports: set[port] = {};
const empty_smtp_servers: SMTPServers = table()
&default=copy(empty_set_of_ports)
&write_expire=too_many_smtp_servers_expire;
type HostData: record {
...
## SMTP servers the host has successfully connected to.
smtp_servers: SMTPServers &default=copy(empty_smtp_servers);
...
};
global data: table[addr] of HostData = {}
&default=[]
&synchronized
&persistent;
Just to be clear, what I want is the below two lines--run simultaneously
on two nodes--to result in data[192.0.2.1]$smtp_servers[192.0.2.2]
containing both 25/tcp and 587/tcp.
add data[192.0.2.1]$smtp_servers[192.0.2.2][25/tcp];
add data[192.0.2.1]$smtp_servers[192.0.2.2][587/tcp];