group […] //full refresh of group array
group.members[3] {…} //full refresh of member #4
//even better:
group.members['Ajax'] {…} //full refresh of member named Ajax, if members is a named array
group.members['Ajax'].mv 85 //update of Ajax's mv points
//A:
group.members['Ajax'].mv 85
<<trigger update on element group.members['Ajax']>>
group.members['Bella'].mv 93
<<trigger update on element group.members['Bella']>>
//B:
<<turn merge on for group>>
group { members: [ 'Ajax': { mv: 85 }, 'Bella': { mv: 93 } ] }
<<trigger update on element group>>
TN_IAC = 255
TN_WILL = 251
TN_DO = 253
TN_SB = 250
TN_SE = 240
TN_MSDP = 69
MSDP_VAR = 1
MSDP_VAL = 2
MSDP_TABLE_OPEN = 3
MSDP_TABLE_CLOSE = 4
MSDP_ARRAY_OPEN = 5
MSDP_ARRAY_CLOSE = 6
MSDP_GOT_ENABLED = false
function MSDPHandler( e, p1, p2, p3 )
if not p1 then p1 = "empty" end
if not p2 then p2 = "empty" end
if not p3 then p3 = "empty" end
echo("TELNET_EVENT: p1["..p1.."] p2["..p2.."] p3["..p3.."]\n")
if p1 == TN_WILL and p2 == TN_MSDP and not MSDP_GOT_ENABLED then
MSDP_GOT_ENABLED = true
echo("\n<MSDP enabled>\n")
sendSocket( string.char( TN_IAC, TN_DO, TN_MSDP ) ) – IAC DO MSDP
getMSDPVars()
end
end
function getMSDPVars()
–IAC SB MSDP MSDP_VAR "LIST" MSDP_VAL "COMMANDS" IAC SE
local msg = string.char( TN_IAC, TN_SB, TN_MSDP, MSDP_VAR ) .. "LIST" ..string.char( MSDP_VAL ) .. "COMMANDS" .. string.char( TN_IAC, TN_SE )
sendSocket( msg )
end
addSupportedTelnetOption( TN_MSDP ) – 69 announce support for MSDP
registerAnonymousEventHandler("sysTelnetEvent", "MSDPHandler")