Set by default SO_REUSEADDR and SO_KEEPALIVE socket options

Original commit message from CVS:
Set by default SO_REUSEADDR and SO_KEEPALIVE socket options
This commit is contained in:
Angel Carpintero 2003-08-12 09:59:19 +00:00
parent e27dd0e546
commit 898b9ac6b3
2 changed files with 13 additions and 13 deletions

View file

@ -48,7 +48,7 @@ enum {
ARG_0, ARG_0,
ARG_PORT, ARG_PORT,
ARG_CONTROL, ARG_CONTROL,
ARG_SOCKET_OPTIONS, /* ARG_SOCKET_OPTIONS,*/
/* FILL ME */ /* FILL ME */
}; };
@ -124,11 +124,11 @@ gst_tcpsrc_class_init (GstTCPSrc *klass)
g_object_class_install_property (gobject_class, ARG_CONTROL, g_object_class_install_property (gobject_class, ARG_CONTROL,
g_param_spec_enum ("control", "control", "The type of control", g_param_spec_enum ("control", "control", "The type of control",
GST_TYPE_TCPSRC_CONTROL, CONTROL_TCP, G_PARAM_READWRITE)); GST_TYPE_TCPSRC_CONTROL, CONTROL_TCP, G_PARAM_READWRITE));
/*
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SOCKET_OPTIONS, g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SOCKET_OPTIONS,
g_param_spec_boolean ("socketop", "socketop", "Enable or disable socket options REUSEADDR and KEEPALIVE", g_param_spec_boolean ("socketop", "socketop", "Enable or disable socket options REUSEADDR and KEEPALIVE",
FALSE, G_PARAM_READWRITE)); FALSE, G_PARAM_READWRITE));
*/
gobject_class->set_property = gst_tcpsrc_set_property; gobject_class->set_property = gst_tcpsrc_set_property;
gobject_class->get_property = gst_tcpsrc_get_property; gobject_class->get_property = gst_tcpsrc_get_property;
@ -160,7 +160,7 @@ gst_tcpsrc_init (GstTCPSrc *tcpsrc)
tcpsrc->sock = -1; tcpsrc->sock = -1;
tcpsrc->control_sock = -1; tcpsrc->control_sock = -1;
tcpsrc->client_sock = -1; tcpsrc->client_sock = -1;
tcpsrc->socket_options = FALSE; /*tcpsrc->socket_options = FALSE;*/
GST_FLAG_UNSET (tcpsrc, GST_TCPSRC_OPEN); GST_FLAG_UNSET (tcpsrc, GST_TCPSRC_OPEN);
GST_FLAG_SET (tcpsrc, GST_TCPSRC_1ST_BUF); GST_FLAG_SET (tcpsrc, GST_TCPSRC_1ST_BUF);
@ -329,9 +329,9 @@ gst_tcpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GP
case ARG_CONTROL: case ARG_CONTROL:
tcpsrc->control = g_value_get_enum (value); tcpsrc->control = g_value_get_enum (value);
break; break;
case ARG_SOCKET_OPTIONS: /* case ARG_SOCKET_OPTIONS:
tcpsrc->socket_options = g_value_get_boolean(value); tcpsrc->socket_options = g_value_get_boolean(value);
break; break; */
default: default:
break; break;
} }
@ -353,9 +353,9 @@ gst_tcpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
case ARG_CONTROL: case ARG_CONTROL:
g_value_set_enum (value, tcpsrc->control); g_value_set_enum (value, tcpsrc->control);
break; break;
case ARG_SOCKET_OPTIONS: /* case ARG_SOCKET_OPTIONS:
g_value_set_boolean(value,tcpsrc->socket_options); g_value_set_boolean(value,tcpsrc->socket_options);
break; break;*/
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break; break;
@ -377,9 +377,9 @@ gst_tcpsrc_init_receive (GstTCPSrc *src)
return FALSE; return FALSE;
} }
if (src->socket_options) /* if (src->socket_options)
{ {*/
g_print("Socket Options enabled\n"); g_print("Socket Options SO_REUSEADDR, SO_KEEPALIVE\n");
/* Sock Options */ /* Sock Options */
val = 1; val = 1;
/* allow local address reuse */ /* allow local address reuse */
@ -390,7 +390,7 @@ gst_tcpsrc_init_receive (GstTCPSrc *src)
if( setsockopt( src->sock,SOL_SOCKET,SO_KEEPALIVE, &val, sizeof( int )) <0) if( setsockopt( src->sock,SOL_SOCKET,SO_KEEPALIVE, &val, sizeof( int )) <0)
perror( "setsockopt()" ); perror( "setsockopt()" );
/* Sock Options */ /* Sock Options */
} /* } */
if (bind (src->sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) { if (bind (src->sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) {
perror("stream_sock bind"); perror("stream_sock bind");

View file

@ -71,7 +71,7 @@ struct _GstTCPSrc {
int sock; int sock;
int client_sock; int client_sock;
int control_sock; int control_sock;
gboolean socket_options; /* gboolean socket_options;*/
Gst_TCP_Control control; Gst_TCP_Control control;
struct sockaddr_in myaddr; struct sockaddr_in myaddr;