This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/src/hos_hash.h

38 lines
1.0 KiB
C
Raw Normal View History

2020-09-21 19:19:18 +08:00
/*************************************************************************
> File Name: hos_hash.h
> Author: pxz
> Created Time: Fri 18 Sep 2020 05:00:04 PM CST
************************************************************************/
#ifndef __HOS_HASH_H__
#define __HOS_HASH_H__
#include <aws/core/Aws.h>
2021-04-23 09:57:58 +08:00
//#include "hos_client.h"
2020-09-21 19:19:18 +08:00
#include "uthash.h"
2021-04-23 09:57:58 +08:00
typedef struct hos_fd_context_s
2020-09-21 19:19:18 +08:00
{
size_t fd;
int mode;
2021-04-23 09:57:58 +08:00
//hos_client_handle handle;
char *bucket;
char *object;
2020-09-21 19:19:18 +08:00
void *callback;
void *userdata;
std::shared_ptr<Aws::IOStream> cache;
2020-12-01 16:12:41 +08:00
size_t cache_count;
size_t position;
size_t recive_cnt;
long cache_rest;
int fd_status;
#define HOS_FD_REGISTER 0
#define HOS_FD_INJECT 1
2020-09-21 19:19:18 +08:00
UT_hash_handle hh;
2021-04-23 09:57:58 +08:00
}hos_fd_context_t;
2020-09-21 19:19:18 +08:00
2021-04-23 09:57:58 +08:00
void add_fd_context(hos_fd_context_t **handle, hos_fd_context_t *input);
hos_fd_context_t *find_context_by_fd(hos_fd_context_t *handle, size_t fd);
void delete_context_by_fd(hos_fd_context_t **handle, size_t fd);
void delete_all(hos_fd_context_t **handle);
2020-09-21 19:19:18 +08:00
#endif