<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~irc/github.com/solanum-ircd/solanum.git/include/batch.h, branch amdj/modules</title>
<subtitle>https://github.com/solanum-ircd/solanum</subtitle>
<id>https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/atom/include/batch.h?h=amdj%2Fmodules</id>
<link rel='self' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/atom/include/batch.h?h=amdj%2Fmodules'/>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/'/>
<updated>2026-01-21T16:10:44Z</updated>
<entry>
<title>Batch updates</title>
<updated>2026-01-21T16:10:44Z</updated>
<author>
<name>Ryan Schmidt</name>
</author>
<published>2026-01-13T17:12:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=8162cbe9d4f350da87a6eff02d06c804889b0d5f'/>
<id>urn:sha1:8162cbe9d4f350da87a6eff02d06c804889b0d5f</id>
<content type='text'>
The extension example_module was extended to introduce a new
client-initiated batch type named test. This is primarily done to ease
testing of the client-initiated portions of m_batch, but also serves as
a useful sketch for how a module can register its own client-initiated
batch types.

The definition of struct BatchHandler was slightly modified to use a
callback function to determine if nesting is allowed. The callback can
additionally set a custom error message if desired when returning false.

The len and messages list in struct Batch no longer include the start
message, so a len of 0 indicates an empty batch. Because the start
message is still allocated and saved off, adjust anything that impacts a
client's pending_batch_lines by 1 to account for the implicit additional
message.

Empty batches now trigger the relevant batch handler. If a handler wants
to no-op on empty batches, it can do so but this allows additional
flexibility for handlers to still do something upon receiving empty
client-initiated batches.
</content>
</entry>
<entry>
<title>Add batch support</title>
<updated>2026-01-21T16:10:44Z</updated>
<author>
<name>Ryan Schmidt</name>
</author>
<published>2025-10-25T00:59:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=4cc9be1ddf1e14fc76bf433e23a3d528424b60ca'/>
<id>urn:sha1:4cc9be1ddf1e14fc76bf433e23a3d528424b60ca</id>
<content type='text'>
- Add "batch" client capability
- Support sending netsplit/netjoin batches
- Support receiving BATCH from clients and remote servers
- Support for modules to define supported batch types for incoming
  batches
- Add "message_handler" hook to override the handler for a particular
  incoming message
- Add technical and user-facing documentation for batches
- Add some more sendto_* overloads that support tags which were missing
  from the initial message-tags implementation but turned out to be
  needed
</content>
</entry>
<entry>
<title>Revert "Implement the netsplit batch type."</title>
<updated>2016-04-16T16:05:00Z</updated>
<author>
<name>Elizabeth Myers</name>
</author>
<published>2016-04-16T16:05:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=7445ece1d136bdaa2dde8a97eac73f3316ff086c'/>
<id>urn:sha1:7445ece1d136bdaa2dde8a97eac73f3316ff086c</id>
<content type='text'>
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253

This reverts commit 23738912993a8debf007542c51aeff79588e35ca.
</content>
</entry>
<entry>
<title>Implement the netsplit batch type.</title>
<updated>2016-04-15T21:50:43Z</updated>
<author>
<name>Elizabeth Myers</name>
</author>
<published>2016-04-15T21:50:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~irc/github.com/solanum-ircd/solanum.git/commit/?id=23738912993a8debf007542c51aeff79588e35ca'/>
<id>urn:sha1:23738912993a8debf007542c51aeff79588e35ca</id>
<content type='text'>
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...

Compile tested, needs more testing.
</content>
</entry>
</feed>
