Realtime Asynchronous Connection Abstraction Layer

Technical documentation

The Faerion Team

Abstract

librascal is a library designed to help building high-performance networking applications. This is the technical reference for the library.


Table of Contents

1. Introduction
2. Implementation details
2.1. Request processing
2.2. Event processing
2.3. Error handling
2.4. Data flow buffering
2.5. Memory management
2.6. Domain name and service resolution functions
2.7. Threading model
T. Type reference
T.1. addr_t
T.2. sock_t
T.3. rrid_t
F. Function reference
F.1. Generic functions
F.1.1. rascal_accept
F.1.2. rascal_accept_service
F.1.3. rascal_aton
F.1.4. rascal_cancel
F.1.5. rascal_connect
F.1.6. rascal_connect_service
F.1.7. rascal_dispatcher
F.1.8. rascal_getaddr
F.1.9. rascal_gethost
F.1.10. rascal_get_rq_size
F.1.11. rascal_get_sq_size
F.1.12. rascal_get_errmsg
F.1.13. rascal_init
F.1.14. rascal_isok
F.1.15. rascal_ntoa
F.1.16. rascal_read
F.1.17. rascal_reads
F.1.18. rascal_set_context
F.1.19. rascal_wait
F.1.20. rascal_work
F.1.21. rascal_write
F.2. Advanced functions
F.2.1. rascal_get_option
F.2.2. rascal_set_dispatcher
F.2.3. rascal_set_nameserver
F.2.4. rascal_set_option
F.2.5. rascal_shrink

List of Tables

F.1. Event types
F.2. rascal_reads flags