| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // ======================================================================== //
- // Copyright 2009-2017 Intel Corporation //
- // //
- // Licensed under the Apache License, Version 2.0 (the "License"); //
- // you may not use this file except in compliance with the License. //
- // You may obtain a copy of the License at //
- // //
- // http://www.apache.org/licenses/LICENSE-2.0 //
- // //
- // Unless required by applicable law or agreed to in writing, software //
- // distributed under the License is distributed on an "AS IS" BASIS, //
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
- // See the License for the specific language governing permissions and //
- // limitations under the License. //
- // ======================================================================== //
- #pragma once
- #include "platform.h"
- namespace embree
- {
- namespace network
- {
- /*! type for a socket */
- typedef struct opaque_socket_t* socket_t;
- /*! exception thrown when other side disconnects */
- struct Disconnect : public std::exception {
- virtual const char* what() const throw() {
- return "network disconnect";
- }
- };
- /*! creates a socket bound to a port */
- socket_t bind(unsigned short port);
-
- /*! listens for an incoming connection and accepts that connection */
- socket_t listen(socket_t sockfd);
-
- /*! initiates a connection */
- socket_t connect(const char* host, unsigned short port);
-
- /*! read data from the socket */
- void read(socket_t socket, void* data, size_t bytes);
- /*! write data to the socket */
- void write(socket_t socket, const void* data, size_t bytes);
- /*! flushes the write buffer */
- void flush(socket_t socket);
-
- /*! close a socket */
- void close(socket_t socket);
- /*! reads a bool from the socket */
- bool read_bool(socket_t socket);
- /*! reads a character from the socket */
- char read_char(socket_t socket);
- /*! reads an integer from the socket */
- int read_int(socket_t socket);
- /*! reads a float from the socket */
- float read_float(socket_t socket);
- /*! reads a string from the socket */
- std::string read_string(socket_t socket);
- /*! writes a bool to the socket */
- void write(socket_t socket, bool value);
- /*! writes a character to the socket */
- void write(socket_t socket, char value);
- /*! writes an integer to the socket */
- void write(socket_t socket, int value);
- /*! writes a float to the socket */
- void write(socket_t socket, float value);
- /*! writes a string to the socket */
- void write(socket_t socket, const std::string& str);
- }
- }
|