⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unisock.h

📁 一个不错的fastdb使用例子
💻 H
字号:
//-< UNISOCK.H >-----------------------------------------------------*--------*
// FastDB                    Version 1.0         (c) 1997  GARRET    *     ?  *
// (Main Memory Database Management System)                          *   /\|  *
//                                                                   *  /  \  *
//                          Created:      7-Jan-97    K.A. Knizhnik  * / [] \ *
//                          Last update:  7-Jan-97    K.A. Knizhnik  * GARRET *
//-------------------------------------------------------------------*--------*
// Unix socket
//-------------------------------------------------------------------*--------*

#ifndef __UNISOCK_H__
#define __UNISOCK_H__

#include "sockio.h"

class unix_socket : public socket_t
{

protected:
  int           fd;
  int           errcode;     // error code of last failed operation
  char*         address;     // host address
  socket_domain domain;      // Unix domain or INET socket
  bool          create_file; // Unix domain sockets use files for connection

  enum error_codes {
    ok = 0,
    not_opened = -1,
    bad_address = -2,
    connection_failed = -3,
    broken_pipe = -4,
    invalid_access_mode = -5
  };

public:
  //
  // Directory for Unix Domain socket files. This directory should be
  // either empty or be terminated with "/". Dafault value is "/tmp/"
  //
  static char* unix_socket_dir;

  bool      open(int listen_queue_size);
  bool      connect(int max_attempts, time_t timeout);

  int       read(void* buf, size_t min_size, size_t max_size,
                 time_t timeout);
  bool      write(void const* buf, size_t size);

  bool      is_ok();
  bool      shutdown();
  bool      close();
  char*     get_peer_name();
  void      get_error_text(char* buf, size_t buf_size);

  socket_t* accept();
  bool      cancel_accept();

  int get_handle();

  unix_socket(const char* address, socket_domain domain);
  unix_socket(int new_fd);

  ~unix_socket();
};

#endif





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -