File

util/bitcompat.lua @ 11740:b92f2abe0bda

mod_s2s: Fire 's2s-ondrain' event, mirroring mod_c2s Signals that any pending outgoing stanzas that were in the write buffer have at least been sent off to the Kernel and maybe even sent out over the network. See 7a703af90c9c for mod_c2s commit
author Kim Alvefur <zash@zash.se>
date Mon, 16 Aug 2021 11:37:51 +0200
parent 10241:48f7cda4174d
child 12573:0f4feaf9ca64
line wrap: on
line source

-- Compatibility layer for bitwise operations

-- First try the bit32 lib
-- Lua 5.3 has it with compat enabled
-- Lua 5.2 has it by default
if _G.bit32 then
	return _G.bit32;
else
	-- Lua 5.1 may have it as a standalone module that can be installed
	local ok, bitop = pcall(require, "bit32")
	if ok then
		return bitop;
	end
end

do
	-- Lua 5.3 and 5.4 would be able to use native infix operators
	local ok, bitop = pcall(require, "util.bit53")
	if ok then
		return bitop;
	end
end

do
	-- Lastly, try the LuaJIT bitop library
	local ok, bitop = pcall(require, "bit")
	if ok then
		return bitop;
	end
end

error "No bit module found. See https://prosody.im/doc/depends#bitop";