Simu5G - 5G NR and LTE/LTE-A user-plane simulation model for OMNeT++ & INET

Overview

Simu5G

5G NR and LTE/LTE-A user-plane simulation model, compatible with the INET Framework. Website: http://simu5g.org

Disclaimer

Simu5G is an open source simulator licensed under LGPL, and based on OMNeT framework which is available under the Academic Public License and a commercial license (see https://omnest.com/licensingfaq.php). You are solely responsible for obtaining the appropriate license for your use(s) of OMNeT. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of OMNeT. Neither the University of Pisa, nor the authors of this software, are responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of OMNeT.

Simu5G is based on 3GPP specifications, which may involve patented and proprietary technology. See https://www.3gpp.org/contact/3gpp-faqs#L5. You are solely responsible for determining if your use of Simu5G requires any additional licenses. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of Simu5G. Neither the University of Pisa, nor the authors of this software, are responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of OMNeT.

This software is provided on an "as is" basis, without warranties of any kind, either express or implied, including, but not limited to, warranties of accuracy, adequacy, validity, reliability or compliance for any specific purpose. Neither the University of Pisa, nor the authors of this software, are liable for any loss, expense or damage of any type that may arise in using this software.

If you use this software or part of it for your research, please cite our work:

G. Nardini, D. Sabella, G. Stea, P. Thakkar, A. Virdis, "Simu5G – An OMNeT++ Library for End-to-End Performance Evaluation of 5G Networks," in IEEE Access, vol. 8, pp. 181176-181191, 2020, doi: 10.1109/ACCESS.2020.3028550.

If you include this software or part of it within your own software, README and LICENSE files cannot be removed from it and must be included in the root directory of your software package.

Core contributors

Dependencies

This version requires:

  • OMNeT++ 5.6.2
  • INET 4.2.2
  • tested on:
    • Ubuntu 18.04 and 20.04
    • macOS Catalina
    • Windows 7

Simu5G Features

General

  • eNodeB, gNodeB and UE models
  • Full LTE and NR protocol stack
  • Simple PGW/UPF model implementing GTP protocol

PDCP-RRC

  • Header compression/decompression
  • Logical connection establishment and maintenance
  • E-UTRA/NR Dual connectivity
  • Split Bearer

RLC

  • Multiplexing/Demultiplexing of MAC SDUs
  • UM, (AM and TM testing) modes

MAC

  • HARQ functionalities
  • Allocation management
  • AMC
  • Scheduling Policies (MAX C/I, Proportional Fair, DRR)
  • Carrier Aggregation
  • Support to multiple numerologies
  • Flexible TDD/FDD

PHY

  • Channel Feedback management
  • Realistic 3GPP channel model with
    • inter-cell interference
    • path-loss
    • fast fading
    • shadowing
    • (an)isotropic antennas

Advanced features

  • X2 communication support
  • X2-based handover
  • CoMP Coordinated Scheduling support
  • Device-to-device communications
  • Support for vehicular mobility (integration with Veins 5.1)
  • Simplified model of Multi-access Edge Computing (MEC) Host

Applications

  • Voice-over-IP (VoIP)
  • Constant Bit Rate (CBR)
  • Trace-based Video-on-demand (VoD)

Limitations

  • User Plane only (Control Plane not modeled)
  • no EPS bearer support – note: a similar concept, "connections", has been implemented, but they are neither dynamic nor statically configurable via some config file
  • radio bearers not implemented, not even statically configured radio bearers (dynamically allocating bearers would need the RRC protocol, which is Control Plane so not implemented)
Comments
  • Simu5G build crash on Omnet++ 6.0, Build id: 220413-71d8fab425 and INET 4.3.9

    Simu5G build crash on Omnet++ 6.0, Build id: 220413-71d8fab425 and INET 4.3.9

    Hi guys,

    I'm trying to use Simu5G on my Omnet++ setup and the build crashes every time:

    Anybody have any ideas how to debug it?

    Thanks Bogdan

    Console: "fatal error: too many errors emitted, stopping now [-ferror-limit=] 12 warnings and 20 errors generated. make[1]: *** [Makefile:420: ../out/clang-debug/src/apps/mec/MecApps/MecRequestBackgroundGeneratorApp/MecRequestBackgroundGeneratorApp.o] Error 1 19 warnings and 20 errors generated. 12 warnings and 20 errors generated. make[1]: *** [Makefile:420: ../out/clang-debug/src/apps/mec/MecApps/MecRequestForegroundApp/MecRequestForegroundApp.o] Error 1 make[1]: *** [Makefile:420: ../out/clang-debug/src/apps/mec/WarningAlert/MECWarningAlertApp.o] Error 1 make[1]: Leaving directory '/c/Users/Bogda/Documents/omnetpp-6.0/samples/Simu5G-1.2.0/src' make: *** [Makefile:2: all] Error 2 "make MODE=debug -j12 all" terminated with exit code 2. Build might be incomplete.

    12:45:00 Build Failed. 141 errors, 194 warnings. (took 18s.841ms)"

    opened by B0GDAN 16
  • Maximum number of vehicles that singleMecHost can support?

    Maximum number of vehicles that singleMecHost can support?

    I modified the number of cars by **.numCars = 100 in simulations\NR\mec\singleMecHost\omnetpp.ini. Then I face some error, since any value greater than 100 gives an error, I searched for 100, and adjusted *.mecHost.maxMECApps.

    Next, I tried to adjust the number of cars, I could reach 266, but then it would report an error, I began to suspect that it was the IP address, but since 266 is greater than 255, it might be another problem.

    could you please give me some advice? I want to run **.numCars = 400 by one station I also add **.hasRNISupport = false

    opened by daohu527 13
  • Multiple MEC applications recursively

    Multiple MEC applications recursively

    Hello,

    I'm testing an scenario with multiple MEC hosts and a couple of MEC Orchestrators and I need to instantiate a high amount of MEC applications. For a few number of Apps, I would just create an app descriptor in JSON with the characteristics of the App and then import it with the rest of the app's parameters:

    *.car[*].app[1].typename = "UEWarningAlertApp"
    *.car[*].app[1].deviceAppAddress = "car["+string(ancestorIndex(1))+"]"
    *.car[*].app[1].deviceAppPort = 4500
    *.car[*].app[1].startTime = 1s										
    *.car[*].app[1].stopTime = 30s										
    

    However, doing this for more than a handful of apps is tedious and error-prone. I was planning on doing it recursively, creating a loop cycle and changing the app parameters and start-stop time for each of the apps, but I don't think this can be done in the .ini file.

    Could you give me some advice on how to instantiate a high number of MEC apps recursively please?

    Thanks a lot for your time and answers.

    opened by juansebastiani2cat 11
  • Makefile error by building Simu5g

    Makefile error by building Simu5g

    Hello all,

    I am Building Simu5g on Windows10, OMNeT++6.0, and INET4.4.0. I have the same issue as #6 and #54. I tried the first two options to install Simu5g:

    1. Download and install Simu5G directly from the OMNeT++ IDE and
    2. Download the source code and build Simu5G manually I also tried to clone the code from the GitHub repository. But, I still have the makefile errors. Capture I have tried both solutions suggested in #6, but they didn't work.

    Thank you in advance for your help.

    Best regards, Parva

    opened by Parvaaaa 10
  • Make error in Simu5G Build

    Make error in Simu5G Build

    Hi, I've been trying to build simu5G over the OMNeT++ and INET Framework. I was able to successfully install those two but I'm having issues when I try to build Simu5G over them and I don't understand why those errors occur. Posting a screenshot here, please guide me with this. Screenshot 2022-03-24 at 3 16 13 AM

    There were about a lot of errors of the same nature. I'm doing this on a MAC OS 12.3 Intel Silicon Chip. I have also tried on windows 11 earlier, and was stuck at the same stage where SImu5G build was failing. Maybe not the same error though.

    opened by kattungakrish 9
  • Vector results of CBR Application contains only one value at each **.app[*]

    Vector results of CBR Application contains only one value at each **.app[*]

    Dear Authors,

    I have tried several times to get vector values by simulating "CbrSender" and "CbrReceiver" at my application layer. I was unable to get continuous values of cbrGeneratedThroughtput:vector and cbrReceivedThroughtput:vector. But cbrFrameDelay:vector has continues values. I am a new user of Simu5G therefore I cannot provide any detailed information. I have simulated CBR mentioned in: dualConnectivity_multicell demo

    Surya

    opened by suryapusapati 8
  • MEC latency benchmark

    MEC latency benchmark

    Hi thanks for your good work. I recently tested 2 examples under simu5g, but I am not sure about the latency of 5G MEC is correct.

    Test

    I tested in the following two cases

    simulations\NR\mec\multiMecHost
    simulations\NR\mec\singleMecHost
    

    and the 5G MEC latency is Snipaste_2022-03-29_09-13-37

    In average, the upstream delay is 10ms, while the downstream is 5ms

    Question

    So my questions are

    1. Why are the delays different for upstream and downstream?
    2. Packet size doesn't seem to have a significant effect on latency, is this normal?
    3. When I adjust the message frequency, the MEC MAC layer will report an error, why is this happening?

    Any suggestions would be greatly appreciated!

    opened by daohu527 7
  • Couldn't make simu5G

    Couldn't make simu5G

    Whenever I make Simu5G, it always report error: unable to load'../out/clang-debug/src/libsimu5g_dbg.dll.a': No such file or directory,my omnetpp version is 6.0pre11 and inet version is 4.3.2. image

    opened by SOANykun 7
  • NR Multicast Not Working

    NR Multicast Not Working

    Hi All,

    First of all I realize that I'm probably making a mistake somewhere but I can't figure out why.

    I have the following simulation: omnetpp.ini

    [General]
    image-path=../../../images
    output-scalar-file-append = false
    sim-time-limit=20s
    **.routingRecorder.enabled = false
    
    ############### Statistics ##################
    output-scalar-file = ${resultdir}/${configname}/${repetition}.sca
    output-vector-file = ${resultdir}/${configname}/${repetition}.vec
    seed-set = ${repetition}
    **.vector-recording = false
    
    ################ Mobility parameters #####################
    # *
    
    **.mobility.constraintAreaMaxX = 1000m
    **.mobility.constraintAreaMaxY = 1000m
    **.mobility.constraintAreaMinX = 0m
    **.mobility.constraintAreaMinY = 0m
    **.mobility.constraintAreaMinZ = 0m
    **.mobility.constraintAreaMaxZ = 0m
    **.mobility.initFromDisplayString = false
    
    ############### Number of Resource Blocks ################
    **.numBands = 50 # this value should be kept equal to the number of RBs
    
    ############### Transmission Power ##################
    **.ueTxPower = 26
    **.eNodeBTxPower = 40
    **.targetBler = 0.01
    **.blerShift = 5  
    
    ############### IPv4 configurator config #################
    *.configurator.config = xmldoc("./demo.xml")
    
    
    #------------------------------------#
    # Config Standalone
    #
    # Topology configuration for the exemplary scenario for NR Standalone deployment
    #
    [Config Standalone]
    network = simu5g.simulations.NR.networks.SingleCell_Standalone
    sim-time-limit=20s
    
    ############### e/gNodeB configuration #################
    *.gnb.mobility.initialX = 450m
    *.gnb.mobility.initialY = 300m
    
    ############## UE configuration ##################
    *.numUe = 3
    
    # connect the UE's NIC to the corresponding serving eNB
    *.ue[*].macCellId = 1
    *.ue[*].masterId = 1
    *.ue[*].nrMacCellId = 1
    *.ue[*].nrMasterId = 1
    
    # UE position
    *.ue[*].mobility.initialX = 450m
    *.ue[*].mobility.initialY = 350m
    #------------------------------------#
    
    
    [Config UdpSend]
    extends=Standalone
    
    # one UDP application for each user
    *.ue[*].numApps = 1
    
    
    # the amount of UDP applications on server should be equal to (numUEs)*(ue[*].numApps) 
    *.server.numApps = 1
    
    #============= Application Setup =============
    *.server.app[0].typename = "inet.applications.udpapp.UdpEchoApp"
    *.server.app[0].localPort = 1000
    
    *.ue[1..2].app[0].typename = "inet.applications.udpapp.UdpEchoApp"
    *.ue[1..2].app[0].localPort = 1000
    
    *.ue[0].app[0].typename = "ether_tic_toc.apps.udp_send.UdpSendApp"
    *.ue[0].app[0].destAddress = "224.0.0.10" 
    *.ue[0].app[0].destPort = 1000
    #------------------------------------#
    

    With the following network config: demo.xml

    <config>
        <interface hosts='*' address='10.x.x.x' netmask='255.x.x.x'/>
        <multicast-group hosts="ue[*]" interfaces="cellular" address="224.0.0.10"/>
    </config>
    

    And ether_tic_toc.apps.udp_send.UdpSendApp is a UDP app that sends a single packet to the port and destination

    But When I run it it crashes at LteAmc::existTxParams() with cRuntimeError("LteAmc::existTxparams(): Unrecognized direction")

    Then I tried adding

    **.usePreconfiguredTxParams = true
    **.d2dCqi = 7
    **.amcMode = "D2D"
    

    to my config.ini But then it looks like the packet is never sent or received

    I'm using the latest commit of Simu5G, INET 4.4.0 and Omnet 6

    opened by JFrandon 6
  • Building error with SIMU5G

    Building error with SIMU5G

    Hello,

    I have downloaded and tested Omnet++ 6.0 rc2 and then downloaded and tested INET 4.3 in a Windows 11 machine. I have copied the SIMU5G zip file and extracted right next to INET 4.3 folder. I then imported it using the File -> Import -> Existing project into Worspace method. The issue arises when I try to execute some of the examples as I would need to build the whole project (at least once I think). After a while compiling I get the following errors:

    image

    The location error in detail is the following:

    Description incomplete type 'const Binder' used in type trait expression Simu5G-1.2.0 line 722, external location: C:\Users\34663\Downloads\omnetpp-6.0rc2\omnetpp-6.0\tools\win32.x86_64\mingw64\include\c++\10.3.0\type_traits C/C++ Problem

    I would appreciate any advice or answer regarding this issue. Thanks in advance

    opened by juansebastiani2cat 6
  • Couldn't link with INET project

    Couldn't link with INET project

    Hi, I couldn't make the project because I couldn't link Simu5G with INET project on both IDE and command line. I can run INET examples properly. I'm following this guide for installation.

    Here is my folder structure:

    • omnetpp-6.0pre12
      • samples
        • inet4
        • Simu5G-1.2.0
    1. When I run make command, it gives below error. image

    2. When I change inet4.3 to inet4 in below line of Makefile in Simu5G-1.2.0 folder

      makefiles:
      	    @cd src && opp_makemake --make-so -f --deep -o simu5g -O out -KINET_PROJ=../../inet4.3 -DINET_IMPORT -I. -I$$\(INET_PROJ\)/src -L$$\(INET_PROJ\)/src -lINET$$\(D\)
      
      

      and re-run make makefiles and make, it gives below error. image

    To sum up, I couldn't figure out how to make the project.

    Thanks in advance!

    opened by buraksenkus 6
  • Frame structure

    Frame structure

    Dear developers,

    Is it possible to configure the frame structure? I know that we can configure the slot structure in UL and DL symbols, but can we for example configure a frame like DDDSU?

    Thank you in advance Gustavo Cainelli

    opened by gustavocainelli 0
  • update ue location

    update ue location

    hello!

    In order to obtain the real-time ue location in LtePhyUe.cc ,I write code ueCoord=LtePhyBase::getCoord(); And update once when receiving airframe(I set period to 0.01 seconds),print EV<<"time"<<NOW<<"**********ue["<<nodeId_<<"]Coord"<<ueCoord<<endl;

    However, when I run the simulation and select the fast mode, the location update of the ue becomes very chaotic; When I click run, the location of the ue is updated without problem;

    The following is the location update of the ue I selected for fast: **time****0.73ue[1027]Coord(124.464, 601.216, 0) m ******time0.74ue[1027]Coord(124.818, 601.278, 0) m ******time0.75ue[1027]Coord(124.818, 601.278, 0) m ******time0.76ue[1027]Coord(124.818, 601.278, 0) m ******time0.77ue[1027]Coord(124.818, 601.278, 0) m ******time0.78ue[1027]Coord(124.818, 601.278, 0) m ******time0.79****ue[1027]Coord(124.818, 601.278, 0) m

    Next, I choose run: **time****0.02ue[1027]Coord(117.767, 600.035, 0) m ******time0.03ue[1027]Coord(117.866, 600.052, 0) m ******time0.04****ue[1027]Coord(117.964, 600.069, 0) m By the way, let me add that I use the lineMobility;

    So I want to ask the professor, have you ever met this situation; What should I do? Do you have any suggestions for me

    opened by wggegshjg 2
  • set Resource Type for packet forwarding treatment

    set Resource Type for packet forwarding treatment

    Hello!

    as it is written at the end of README, Simu5G currently (I hope only currently) does not support bearers. It means I can not set resource type for my packets (gbr, dcgbr, ngbr), which is the part of QoS. But at the same time I see some gbr/ngbr getters and setters in StatsCollector classes. Does it mean it is still possible to set RT somehow?

    opened by gehirndienst 0
  • Measure Delay from Car to multiple MecHosts

    Measure Delay from Car to multiple MecHosts

    Dear all,

    I am working in a project with multiple MecHosts and a time sensitive application. Using as a base the simulation in singleMecHost.ned, I want to be able to measure the delay from the Car to each of the MEC Hosts. As some issues have suggested, the best method to measure the end-to-end delay is using a timestamp over a VoIP application (As the VoIP application example present in SIMU5G). I want to use this same method, but I'm a bit stuck in the implementation.

    My question is, is it possible to instantiate the VoIP application into one of the MEC Hosts instead of the traditional server (As done in the examples)?

    If so, could you guide me or provide me some example of how to do it?

    Thanks in advance for your help.

    opened by juansebastiani2cat 2
  • QUESTION: Background traffic generator on gNodeB

    QUESTION: Background traffic generator on gNodeB

    Hello, I'm having some problems with background traffic generation on base station. I tried your example (simulations/NR/bgTraffic) in two different scenarios, one with 10 background UEs each generates 1000B packet every 10ms, while the other with 200 background UEs each generates 1000MB packet every 10ms. Observing the results I noticed that the uplink delay (statistic cbrFrameDelay:mean in SingleCell_Standalone.server.app[0]) remains substantially the same.

    I wonder if this is the right procedure to generate some background traffic at the base station and if the generator uses the same resource blocks of the MAC scheduler as for the UE.

    Thanks for your help, Valerio.

    opened by Jaivra 1
  • Obstacles

    Obstacles

    Hello,

    thank you for the simulator. I do have a problem though. Is it possible to create obstacles that interfere with the radio propagation such as buildings etc.? Especially in higher frequency ranges such as above 25GHz. I am using Simu5G v1.1.0 and don't think I can move to another version at this point. I am also using Veins ans SUMO and as far as I know do the buildings created with SUMO not hinder the radio propagation.

    Thanks for your help!

    opened by ArndtTU 1
Releases(v1.2.1)
  • v1.2.1(Jul 19, 2022)

    5G NewRadio and LTE/LTE-A user-plane simulation model.

    Version: 1.2.1

    This release is compatible with OMNeT++ 6.0 and INET 4.4.0. Tested on Ubuntu 20.04.

    This minor release includes:

    • modifications to support the latest versions of OMNeT++ 6.0 and INET v4.4.0 (many thanks to Prof. Lars Wischhof, Munich University of Applied Sciences, for his contribution)
    • some refactoring of simulation and emulation folders
    • bug fixing
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Aug 30, 2021)

    5G NewRadio and LTE/LTE-A user-plane simulation model.

    Version: 1.2.0

    This release is compatible with OMNeT++ 6.0 (pre10 and pre11) and INET 4.3.2. Tested on:

    • Ubuntu 16.04, 18.04 & 20.04;
    • macOS Catalina;
    • Windows 7.

    This release includes:

    • Modelling of ETSI MEC entities (thanks to Alessandro Noferi, University of Pisa);
    • Support to real-time emulation capabilities (Linux OS only);
    • Modelling of background cells and background UEs for larger scale simulations and emulations;
    • Several bug fixes.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Apr 16, 2021)

    5G NewRadio and LTE/LTE-A user-plane simulation model.

    Version: 1.1.0

    This release is compatible with OMNeT++ 5.6.2 and INET 4.2.2.

    Tested on:

    • Ubuntu 16.04, 18.04 & 20.04;
    • macOS Catalina;
    • Windows 7.
    Source code(tar.gz)
    Source code(zip)
Owner
Università di Pisa
https://unipisa.github.io/
Università di Pisa
Data Plane Development Kit

DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses

DPDK 2k Sep 22, 2022
Client Server Simulation with FIFOs in C (Named Pipes)

Client-Server-Sim-in-C Client Server Simulation with FIFOs in C (Named Pipes) There are a number of ways to enable inter-process communication i.e Soc

Yusuf Ghodiwala 1 Nov 24, 2021
Login and send instagram direct message to any user ;)

DM-THIS-USER Very simple instagram tool,The idea is not in the tool, but in how to deal with the C language, especially with the openssl library and c

0xDADDY 6 May 14, 2022
SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript.

SixtyFPS 4.9k Sep 17, 2022
mTCP: A Highly Scalable User-level TCP Stack for Multicore Systems

README mTCP is a highly scalable user-level TCP stack for multicore systems. mTCP source code is distributed under the Modified BSD License. For more

null 1.8k Sep 22, 2022
GNOME Shell provides core user interface functions for the GNOME 3 desktop

GNOME Shell GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Sh

Muqtadir 3 Oct 18, 2021
libRocket - The HTML/CSS User Interface library

libRocket - The HTML/CSS User Interface Library http://librocket.com (!!! malicious domain !!!, last checked 23/feb/2020) libRocket is the C++ user in

null 1.1k Sep 24, 2022
Triton Python and C++ client libraries and example, and client examples for go, java and scala.

Triton Client Libraries and Examples To simplify communication with Triton, the Triton project provides several client libraries and examples of how t

Triton Inference Server 177 Sep 21, 2022
Encapsulates the two protocols of OpenVpn and Ikev2, you only need to enter the server IP and port number to realize the connection and status display, and the specific situation of the connection can be displayed at the same time。

NewVpnCore 封装了OpenVpn和Ikev2两种协议,只需要输入服务器IP和端口号即可实现连接和状态显示,同时可以显示连接的具体情况。 UniteVpn Core(第一版) 1. 模块说明 unitevpn:封装了vpn的操作和统一不同协议信息的模块 ikev2:IKEV2协议的源码 op

ZFashion 3 Jun 8, 2022
Like libevent and libuv, libhv provides event-loop with non-blocking IO and timer, but simpler api and richer protocols.

中文版 Intro Like libevent, libev, and libuv, libhv provides event-loop with non-blocking IO and timer, but simpler api and richer protocols. Features cr

ithewei 4.6k Sep 17, 2022
🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.

Oat++ News Hey, meet the new oatpp version 1.2.5! See the changelog for details. Check out the new oatpp ORM - read more here. Oat++ is a modern Web F

Oat++ 5.7k Sep 21, 2022
Ole Christian Eidheim 740 Aug 29, 2022
A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Boost.Asio.

A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Boost.Asio. Created to be an easy way to make REST resources available from C++ applications.

Ole Christian Eidheim 2.4k Sep 17, 2022
Cross-platform, efficient, customizable, and robust asynchronous HTTP/WebSocket server C++14 library with the right balance between performance and ease of use

What Is RESTinio? RESTinio is a header-only C++14 library that gives you an embedded HTTP/Websocket server. It is based on standalone version of ASIO

Stiffstream 882 Sep 19, 2022
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution

CppServer Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and

Ivan Shynkarenka 885 Sep 17, 2022
DNS and Target HTTP History Local Storage and Search

dooked DNS and Target HTTP History Local Storage and Search Installation Download Boost Library from the official website Extract the library into any

Michael Skelton 57 Aug 8, 2022
ASN intelligence information (IP to ASN mapping) collected and distributed in open source and transparent way

ASN Intelligence The main goal of this project to retrieve information required to map IP address to ASN number in open source and transparent way. Wh

Pavel Odintsov 60 Jun 27, 2021
This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound C++ samples from the legacy DirectX SDK updated to build using the Windows 10 SDK and the Microsoft.DXSDK.D3DX NuGet package

DirectX SDK Legacy Samples This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound samples that originally shipped in the legac

Chuck Walbourn 39 Aug 29, 2022