-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
transport_layer: Splitting UDP and TCP #1508
transport_layer: Splitting UDP and TCP #1508
Conversation
c057150
to
dde327a
Compare
USEMODULE_INCLUDES += $(RIOTBASE)/sys/net/include | ||
endif | ||
ifneq (,$(filter tcp,$(USEMODULE))) | ||
USEMODULE_INCLUDES += $(RIOTBASE)/sys/net/transport_layer/socket_base |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dislike. Why not put these into sys/net/include
, too?
16bde98
to
0a6e72c
Compare
0916d6f
to
5d302df
Compare
Does someone understand why Travis fails for qemu on arbitrary applications? |
Yes, download.riot-os.org is down. |
Ah, thanks. For some reason someone shut down the Jenkins server which hosts also |
Maybe we can host that on ftp.fu-berlin.de instead? |
Broken licenses should be fixed by merging cgundogan#1. |
ACK. Rebase (to remove the merge commit) and go! |
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*.
f51f9d9
to
710c7e6
Compare
I did a rebase/squash. waiting for travis to finish now |
Yay! \o/ |
transport_layer: Splitting UDP and TCP
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.
Defining transport_layer in a Makefile includes udp and tcp.