plugins/keepalive.lua

Thu, 23 Mar 2023 18:56:32 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Thu, 23 Mar 2023 18:56:32 +0000
changeset 485
c9a144591649
parent 250
a5ac643a7fd6
permissions
-rw-r--r--

component: Avoid adding to the global stream metatable

This allows component and client connections to be made side-by-side.
Previous to this change, loading this connection module would break the
ability to make client connections, due to overriding stream methods such as
:reopen() and :reset().

A next step would be to share the methods that the two connection modules have
in common.

250
a5ac643a7fd6 added local verse var to all plugins
mva <mva@mva.name>
parents: 206
diff changeset
1 local verse = require "verse";
a5ac643a7fd6 added local verse var to all plugins
mva <mva@mva.name>
parents: 206
diff changeset
2
206
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 function verse.plugins.keepalive(stream)
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 stream.keepalive_timeout = stream.keepalive_timeout or 300;
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 verse.add_task(stream.keepalive_timeout, function ()
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 stream.conn:write(" ");
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 return stream.keepalive_timeout;
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 end);
1bf01ffcb5a3 plugins.keepalive: Add (thanks chris)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 end

mercurial