mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
710c7e6cf6
Currently, the tcp and udp implementations are bound to each other in a module called *destiny*. Thus, when using only one of them then the other one gets also compiled into the binary and initialized, which results in unnecessary RAM usage and workload for the CPU. The approach in this PR defines a common module named *socket_base*, which contains functions used by the posix layer. Compiled by it's own, those functions return negative error codes, to symbolize upper layers that they are not supported. When also including the modules *udp* or *tcp* respectively, functions from *socket_base* get overwritten with the correct functionality. Defining *udp* or *tcp* in a Makefile also includes *socket_base*. Defining *pnet* in a Makefile also includes *socket_base*.
42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/*
|
|
* Copyright (C) 2013 Freie Universität Berlin.
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser
|
|
* General Public License v2.1. See the file LICENSE in the top level
|
|
* directory for more details.
|
|
*/
|
|
|
|
/**
|
|
* @{
|
|
* @file tcp_timer.h
|
|
* @author Oliver Gesch <oliver.gesch@googlemail.com>
|
|
*/
|
|
|
|
#ifndef TCP_TIMER_H_
|
|
#define TCP_TIMER_H_
|
|
|
|
#define TCP_TIMER_RESOLUTION 500*1000
|
|
|
|
#define SECOND 1000.0f*1000.0f
|
|
#define TCP_TIMER_STACKSIZE KERNEL_CONF_STACKSIZE_DEFAULT
|
|
#define TCP_SYN_INITIAL_TIMEOUT 6*SECOND
|
|
#define TCP_SYN_TIMEOUT 24*SECOND
|
|
#define TCP_MAX_SYN_RETRIES 3
|
|
#define TCP_INITIAL_ACK_TIMEOUT 3.0f*SECOND // still static, should be calculated via RTT
|
|
#define TCP_ACK_MAX_TIMEOUT 30*SECOND // TODO: Set back to 90 Seconds
|
|
|
|
#define TCP_ALPHA 1.0f/8.0f
|
|
#define TCP_BETA 1.0f/4.0f
|
|
|
|
#define TCP_NOT_DEFINED 0
|
|
#define TCP_RETRY 1
|
|
#define TCP_TIMEOUT 2
|
|
#define TCP_CONTINUE 3
|
|
|
|
void *tcp_general_timer(void *);
|
|
|
|
#endif /* TCP_TIMER_H_ */
|
|
/**
|
|
* @}
|
|
*/
|