Data Structures | Defines | Typedefs | Functions

I_AIO.h File Reference

A brief file description. More...

#include "libts.h"
#include "I_EventSystem.h"
#include "I_RecProcess.h"
Include dependency graph for I_AIO.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ink_aiocb
struct  AIOCallback

Defines

#define AIO_MODULE_MAJOR_VERSION   1
#define AIO_MODULE_MINOR_VERSION   0
#define AIO_MODULE_VERSION
#define AIO_EVENT_DONE   (AIO_EVENT_EVENTS_START+0)
#define AIO_MODE_AIO   0
#define AIO_MODE_SYNC   1
#define AIO_MODE_THREAD   2
#define AIO_MODE_NATIVE   3
#define AIO_MODE   AIO_MODE_THREAD
#define LIO_READ   0x1
#define LIO_WRITE   0x2
#define AIO_CALLBACK_THREAD_ANY   ((EThread*)0)
#define AIO_CALLBACK_THREAD_AIO   ((EThread*)-1)
#define AIO_LOWEST_PRIORITY   0
#define AIO_DEFAULT_PRIORITY   AIO_LOWEST_PRIORITY

Typedefs

typedef struct ink_aiocb ink_aiocb_t

Functions

bool ink_aio_thread_num_set (int thread_num)
void ink_aio_init (ModuleVersion version)
int ink_aio_start ()
void ink_aio_set_callback (Continuation *error_callback)
int ink_aio_read (AIOCallback *op, int fromAPI=0)
int ink_aio_write (AIOCallback *op, int fromAPI=0)
int ink_aio_readv (AIOCallback *op, int fromAPI=0)
int ink_aio_writev (AIOCallback *op, int fromAPI=0)
AIOCallbacknew_AIOCallback (void)

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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.

Definition in file I_AIO.h.


Define Documentation

#define AIO_CALLBACK_THREAD_AIO   ((EThread*)-1)

Definition at line 95 of file I_AIO.h.

Referenced by aio_thread_main().

#define AIO_CALLBACK_THREAD_ANY   ((EThread*)0)

Definition at line 94 of file I_AIO.h.

Referenced by aio_thread_main(), and CacheVC::handleRead().

#define AIO_DEFAULT_PRIORITY   AIO_LOWEST_PRIORITY

Definition at line 98 of file I_AIO.h.

#define AIO_EVENT_DONE   (AIO_EVENT_EVENTS_START+0)
#define AIO_LOWEST_PRIORITY   0

Definition at line 97 of file I_AIO.h.

Referenced by aio_insert(), and CacheVC::set_disk_io_priority().

#define AIO_MODE   AIO_MODE_THREAD

Definition at line 54 of file I_AIO.h.

#define AIO_MODE_AIO   0

Definition at line 46 of file I_AIO.h.

#define AIO_MODE_NATIVE   3

Definition at line 49 of file I_AIO.h.

#define AIO_MODE_SYNC   1

Definition at line 47 of file I_AIO.h.

#define AIO_MODE_THREAD   2

Definition at line 48 of file I_AIO.h.

#define AIO_MODULE_MAJOR_VERSION   1

Definition at line 38 of file I_AIO.h.

#define AIO_MODULE_MINOR_VERSION   0

Definition at line 39 of file I_AIO.h.

#define AIO_MODULE_VERSION
#define LIO_READ   0x1

Definition at line 57 of file I_AIO.h.

Referenced by cache_op().

#define LIO_WRITE   0x2

Definition at line 58 of file I_AIO.h.

Referenced by aio_thread_main().


Typedef Documentation

typedef struct ink_aiocb ink_aiocb_t

Function Documentation

void ink_aio_init ( ModuleVersion  version  ) 
int ink_aio_read ( AIOCallback op,
int  fromAPI = 0 
)
int ink_aio_readv ( AIOCallback op,
int  fromAPI = 0 
)

Referenced by Vol::init().

void ink_aio_set_callback ( Continuation error_callback  ) 

Definition at line 141 of file AIO.cc.

Referenced by CacheProcessor::start_internal().

int ink_aio_start (  ) 

Definition at line 170 of file AIO.cc.

References ET_CALL, eventProcessor, HRTIME_MSECONDS, and EventProcessor::schedule_in().

bool ink_aio_thread_num_set ( int  thread_num  ) 

Definition at line 474 of file AIO.cc.

References api_config_threads_per_disk, and thread_is_created.

Referenced by TSAIOThreadNumSet().

int ink_aio_write ( AIOCallback op,
int  fromAPI = 0 
)
int ink_aio_writev ( AIOCallback op,
int  fromAPI = 0 
)
AIOCallback* new_AIOCallback ( void   ) 

Definition at line 135 of file AIO.cc.

Referenced by TSAIORead(), and TSAIOWrite().