summaryrefslogtreecommitdiffstats
path: root/branches/1.0/tinyNET/src/tnet_transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'branches/1.0/tinyNET/src/tnet_transport.h')
-rw-r--r--branches/1.0/tinyNET/src/tnet_transport.h143
1 files changed, 0 insertions, 143 deletions
diff --git a/branches/1.0/tinyNET/src/tnet_transport.h b/branches/1.0/tinyNET/src/tnet_transport.h
deleted file mode 100644
index a813c09..0000000
--- a/branches/1.0/tinyNET/src/tnet_transport.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-
-/**@file tnet_transport.h
- * @brief Network transport layer.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TNET_SERVER_H
-#define TNET_SERVER_H
-
-#include "tinynet_config.h"
-
-#include "tnet_socket.h"
-#include "tnet_utils.h"
-#include "tnet_nat.h"
-
-#include "tsk_runnable.h"
-
-TNET_BEGIN_DECLS
-
-#define DGRAM_MAX_SIZE 8192
-#define STREAM_MAX_SIZE 8192
-
-#define TNET_TRANSPORT_CB_F(callback) ((tnet_transport_cb_f)callback)
-
-typedef void tnet_transport_handle_t;
-
-typedef enum tnet_transport_event_type_e
-{
- event_data,
- event_closed,
- event_error,
- event_connected,
- event_accepted
-}
-tnet_transport_event_type_t;
-
-typedef struct tnet_transport_event_s
-{
- TSK_DECLARE_OBJECT;
-
- tnet_transport_event_type_t type;
-
- void* data;
- tsk_size_t size;
-
- const void* callback_data;
- tnet_fd_t local_fd;
- struct sockaddr_storage remote_addr;
-}
-tnet_transport_event_t;
-
-typedef int (*tnet_transport_cb_f)(const tnet_transport_event_t* e);
-
-TINYNET_API int tnet_transport_start(tnet_transport_handle_t* transport);
-TINYNET_API int tnet_transport_issecure(const tnet_transport_handle_t *handle);
-TINYNET_API const char* tnet_transport_get_description(const tnet_transport_handle_t *handle);
-TINYNET_API int tnet_transport_get_ip_n_port(const tnet_transport_handle_t *handle, tnet_fd_t fd, tnet_ip_t *ip, tnet_port_t *port);
-TINYNET_API int tnet_transport_get_ip_n_port_2(const tnet_transport_handle_t *handle, tnet_ip_t *ip, tnet_port_t *port);
-TINYNET_API int tnet_transport_set_natt_ctx(tnet_transport_handle_t *handle, tnet_nat_context_handle_t* natt_ctx);
-TINYNET_API int tnet_transport_get_public_ip_n_port(const tnet_transport_handle_t *handle, tnet_fd_t fd, tnet_ip_t *ip, tnet_port_t *port);
-
-TINYNET_API int tnet_transport_isconnected(const tnet_transport_handle_t *handle, tnet_fd_t fd);
-TINYNET_API int tnet_transport_have_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd);
-TINYNET_API const tnet_tls_socket_handle_t* tnet_transport_get_tlshandle(const tnet_transport_handle_t *handle, tnet_fd_t fd);
-TINYNET_API int tnet_transport_add_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd, tnet_socket_type_t type, tsk_bool_t take_ownership, tsk_bool_t isClient);
-TINYNET_API int tnet_transport_pause_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd, tsk_bool_t pause);
-TINYNET_API int tnet_transport_remove_socket(const tnet_transport_handle_t *handle, tnet_fd_t* fd);
-TINYNET_API tnet_fd_t tnet_transport_connectto(const tnet_transport_handle_t *handle, const char* host, tnet_port_t port, tnet_socket_type_t type);
-#define tnet_transport_connectto_2(handle, host, port) tnet_transport_connectto(handle, host, port, tnet_transport_get_type(handle))
-TINYNET_API tsk_size_t tnet_transport_send(const tnet_transport_handle_t *handle, tnet_fd_t from, const void* buf, tsk_size_t size);
-TINYNET_API tsk_size_t tnet_transport_sendto(const tnet_transport_handle_t *handle, tnet_fd_t from, const struct sockaddr *to, const void* buf, tsk_size_t size);
-
-TINYNET_API int tnet_transport_set_callback(const tnet_transport_handle_t *handle, tnet_transport_cb_f callback, const void* callback_data);
-
-TINYNET_API tnet_socket_type_t tnet_transport_get_type(const tnet_transport_handle_t *handle);
-TINYNET_API tnet_fd_t tnet_transport_get_master_fd(const tnet_transport_handle_t *handle);
-TINYNET_API int tnet_transport_shutdown(tnet_transport_handle_t* handle);
-
-typedef struct tnet_transport_s
-{
- TSK_DECLARE_RUNNABLE;
-
- tnet_socket_type_t type;
- char* local_ip;
- tnet_nat_context_handle_t* natt_ctx;
- tnet_socket_t *master;
-
- tsk_object_t *context;
- tsk_bool_t prepared;
-
- //unsigned connected:1;
- void* mainThreadId[1];
-
- char *description;
-
- tnet_transport_cb_f callback;
- const void* callback_data;
-
- /* TLS certs */
- struct {
- char* ca;
- char* pvk;
- char* pbk;
- tsk_bool_t have_tls;
- }tls;
-}
-tnet_transport_t;
-
-tsk_object_t* tnet_transport_context_create();
-TINYNET_API tnet_transport_t* tnet_transport_create(const char* host, tnet_port_t port, tnet_socket_type_t type, const char* description);
-tnet_transport_event_t* tnet_transport_event_create(tnet_transport_event_type_t type, const void* callback_data, tnet_fd_t fd);
-
-TINYNET_GEXTERN const tsk_object_def_t *tnet_transport_def_t;
-TINYNET_GEXTERN const tsk_object_def_t *tnet_transport_event_def_t;
-TINYNET_GEXTERN const tsk_object_def_t *tnet_transport_context_def_t;
-
-TNET_END_DECLS
-
-#endif /* TNET_SERVER_H */
-
OpenPOWER on IntegriCloud