(VPOP3 Enterprise Only)
Every time a connection is made to a VPOP3 service, or a user logs into a service, VPOP3 Enterprise runs a Lua function which can assign the connection a bandwidth pool, or assign a bandwidth limit on the connection.
VPOP3 runs a function called 'GetBandwidth' in a file called bandwidth.lua in the VPOP3 directory.
The function signature is:
GetBandwidth(Params)
The Params parameter is a Lua table with the following entries
clientip - The IP address of the client computer connecting to VPOP3
serveraddress - The local IP address of the VPOP3 service which is being connected to
serverport - The local TCP port which is being connected to
servertype - The local service type (eg POP3, IMAP4, SMTP)
serverid - The numeric ID of the service being connected to
serverbandwidth - The configured bandwidth for the service being connected to
bandwidth - The current bandwidth limit on the connection
username - The currently logged in user (if any)
usernumber - The internal numeric user ID of the currently logged in user (if any)
userbandwidth - The configured bandwidth limit of the currently logged in user (if any) - this is not currently used
The function returns a number indicating the bandwidth limit to apply
0 = no limit
1 to 999999999 = bandwidth limit (in bytes per second) of this connection
-1 to -1000 = bandwidth pool to use (as a negative number, -1 = bandwidth pool 1, etc)