The Sequence Toolkit
www.sequence-toolkit.com
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions
stk_tcp_server_api.h File Reference
#include "stk_env.h"
#include "stk_data_flow.h"
Include dependency graph for stk_tcp_server_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define stk_tcp_create_publisher   stk_tcp_server_create_data_flow
 

Functions

stk_data_flow_tstk_tcp_server_create_data_flow (stk_env_t *env, char *name, stk_uint64 id, stk_options_t *options)
 
stk_data_flow_tstk_tcp_server_accept (stk_data_flow_t *svr_df)
 
int stk_tcp_server_fd (stk_data_flow_t *svr_df)
 
stk_ret stk_tcp_server_data_flow_send (stk_data_flow_t *df, stk_sequence_t *data_sequence, stk_uint64 flags)
 
stk_sequence_tstk_tcp_server_data_flow_rcv (stk_data_flow_t *df, stk_sequence_t *data_sequence, stk_uint64 flags)
 
stk_ret stk_tcp_server_data_flow_id_ip (stk_data_flow_t *df, struct sockaddr *data_flow_id, socklen_t addrlen)
 
stk_ret stk_tcp_server_data_flow_clientip (stk_data_flow_t *df, struct sockaddr *data_flow_id, socklen_t addrlen)
 

Detailed Description

The TCP server module provides TCP listening sockets to applications. This module implements the data flow interface specified by the Sequence Toolkit. Applications should use the create API defined here, but use the standard destroy/send/receive APIs in stk_data_flow_api.h Applicatipns may receive or send sequences on data flows.

Macro Definition Documentation

#define stk_tcp_create_publisher   stk_tcp_server_create_data_flow

Alias for Publishers

Function Documentation

stk_data_flow_t* stk_tcp_server_accept ( stk_data_flow_t svr_df)

Accept a new data flow from the Server Data Flow.

Returns
A new data flow handle for the accepted TCP connection.
stk_data_flow_t* stk_tcp_server_create_data_flow ( stk_env_t env,
char *  name,
stk_uint64  id,
stk_options_t options 
)

Create a data flow for a TCP Server (Listening Socket).

See Also
stk_options.txt for accepted options
stk_data_flow.h
Returns
A handle to a Sequence Data Flow
stk_ret stk_tcp_server_data_flow_clientip ( stk_data_flow_t df,
struct sockaddr *  data_flow_id,
socklen_t  addrlen 
)

Get the client IP for this data flow.

Returns
Whether the IP address was filled out
stk_ret stk_tcp_server_data_flow_id_ip ( stk_data_flow_t df,
struct sockaddr *  data_flow_id,
socklen_t  addrlen 
)

Get the IP acting as the ID for this data flow.

Returns
Whether the IP address was filled out
stk_sequence_t* stk_tcp_server_data_flow_rcv ( stk_data_flow_t df,
stk_sequence_t data_sequence,
stk_uint64  flags 
)

Receive data from a TCP data flow

Returns
The sequence containing received data (if any)
stk_ret stk_tcp_server_data_flow_send ( stk_data_flow_t df,
stk_sequence_t data_sequence,
stk_uint64  flags 
)

Send data on the TCP data flow

Returns
Whether the data was successfully sent
int stk_tcp_server_fd ( stk_data_flow_t svr_df)

Get the File Descriptor for a data flow. Applications may use this to register with an event processing loop which calls select()/poll() etc.

Returns
The File Descriptor.