RedisX v0.9
A simple, light-weight Redis database client
Loading...
Searching...
No Matches
redisx-net.c File Reference

Functions

void * RedisPipelineListener (void *pRedis)
 
int redisxConnect (Redis *redis, boolean usePipeline)
 
void redisxDestroy (Redis *redis)
 
void redisxDisconnect (Redis *redis)
 
RedisredisxInit (const char *server)
 
boolean redisxIsConnected (Redis *redis)
 
int redisxReconnect (Redis *redis, boolean usePipeline)
 
int redisxSetPort (Redis *redis, int port)
 
void redisxSetTcpBuf (int size)
 

Detailed Description

Date
Created on Aug 26, 2024
Author
Attila Kovacs

Network layer management functions for the RedisX library.

Function Documentation

◆ RedisPipelineListener()

void * RedisPipelineListener ( void *  pRedis)

The listener function that processes pipelined responses in the background. It is started when Redis is connected with the pipeline enabled.

Parameters
pRedisPointer to a Redis instance.
Returns
Always NULL.

References FALSE, RESP::n, Redis::pipeline, redisxDestroyRESP(), redisxReadReplyAsync(), RESP_SIMPLE_STRING, RESP::type, x_error(), and xvprintf.

◆ redisxConnect()

int redisxConnect ( Redis redis,
boolean  usePipeline 
)

Connects to a Redis server.

Parameters
redisPointer to a Redis instance.
usePipelineTRUE (non-zero) if Redis should be connected with a pipeline client also, or FALSE (0) if only the interactive client is needed.
Returns
X_SUCCESS (0) if successfully connected to the Redis server. X_NO_INIT if library was not initialized via initRedis(). X_ALREADY_OPEN if already connected. X_NO_SERVICE if the connection failed. X_NULL if the redis argument is NULL.
See also
redisxInit()
redisxSetPort()
redisxSetUser()
redisxSetPassword()
redisxSetTcpBuf()
redisxSelectDB()
redisxDisconnect()

References x_error(), X_NULL, and X_SUCCESS.

◆ redisxDestroy()

void redisxDestroy ( Redis redis)

Destroys a Redis intance, disconnecting any clients that may be connected, and freeing all resources used by that Redis instance.

Parameters
redisPointer to a Redis instance.

References REDISX_CHANNELS, redisxDisconnect(), and redisxIsConnected().

◆ redisxDisconnect()

void redisxDisconnect ( Redis redis)

Disconnect all clients from the Redis server.

Parameters
redisPointer to a Redis instance.

◆ redisxInit()

Redis * redisxInit ( const char *  server)

Initializes the Redis client library, and sets the hostname or IP address for the Redis server.

Parameters
serverServer host name or numeric IP address, e.g. "127.0.0.1"
Returns
X_SUCCESS or X_FAILURE if the IP address is invalid. X_NULL if the IP address is NULL.

References FALSE, Redis::id, Redis::interactive, Redis::pipeline, REDISX_CHANNELS, REDISX_INTERACTIVE_CHANNEL, REDISX_PIPELINE_CHANNEL, REDISX_SUBSCRIPTION_CHANNEL, REDISX_TCP_PORT, Redis::subscription, TRUE, x_error(), x_trace_null(), and xStringCopyOf().

◆ redisxIsConnected()

boolean redisxIsConnected ( Redis redis)

Checks if a Redis instance is connected.

Parameters
redisPointer to a Redis instance.
Returns
TRUE (1) if the Redis instance is connected, or FALSE (0) otherwise.

References FALSE, and Redis::interactive.

◆ redisxReconnect()

int redisxReconnect ( Redis redis,
boolean  usePipeline 
)

Disconnects from Redis, and then connects again...

Parameters
redisPointer to a Redis instance.
usePipelineWhether to reconnect in pipelined mode.
Returns
X_SUCCESS (0) if successful X_NULL if the Redis instance is NULL

or else an error (<0) as would be returned by redisxConnect().

References x_error(), X_NULL, and X_SUCCESS.

◆ redisxSetPort()

int redisxSetPort ( Redis redis,
int  port 
)

Sets a non-standard TCP port number to use for the Redis server, prior to calling redisxConnect().

Parameters
redisPointer to a Redis instance.
portThe TCP port number to use.
See also
redisxConnect();

References x_error(), X_NULL, and X_SUCCESS.

◆ redisxSetTcpBuf()

void redisxSetTcpBuf ( int  size)

Set the size of the TCP/IP buffers (send and receive) for future client connections.

Parameters
size(bytes) requested buffer size, or <= 0 to use default value

References xvprintf.