Data Structures | Defines | Typedefs | Enumerations | Functions

InkAPIPrivateIOCore.h File Reference

Internal SDK stuff. More...

#include "ts.h"
#include "I_EventSystem.h"
#include "I_Cache.h"
#include "I_Net.h"
Include dependency graph for InkAPIPrivateIOCore.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  INKContInternal
class  INKVConnInternal

Defines

#define UNSAFE_FORCE_MUTEX
#define LOCK_MONGO_MUTEX
#define UNLOCK_MONGO_MUTEX
#define MUX_WARNING(p)
#define FORCE_PLUGIN_MUTEX(_c)

Typedefs

typedef void * INKUDPPacket
typedef void * INKUDPacketQueue
typedef void * INKUDPConn

Enumerations

enum  INKContInternalMagic_t { INKCONT_INTERN_MAGIC_ALIVE = 0x00009631, INKCONT_INTERN_MAGIC_DEAD = 0xDEAD9631 }

Functions

TSReturnCode sdk_sanity_check_mutex (TSMutex)
TSReturnCode sdk_sanity_check_hostlookup_structure (TSHostLookupResult)
TSReturnCode sdk_sanity_check_iocore_structure (void *)
tsapi TSMutex TSMutexCreateInternal (void)
tsapi int TSMutexCheck (TSMutex mutex)
tsapi void TSIOBufferReaderCopy (TSIOBufferReader readerp, const void *buf, int64_t length)
tsapi int64_t TSIOBufferBlockDataSizeGet (TSIOBufferBlock blockp)
tsapi void TSIOBufferBlockDestroy (TSIOBufferBlock blockp)
tsapi TSAction INKUDPBind (TSCont contp, unsigned int ip, int port)
tsapi TSAction INKUDPSendTo (TSCont contp, INKUDPConn udp, unsigned int ip, int port, char *buf, int len)
tsapi TSAction INKUDPRecvFrom (TSCont contp, INKUDPConn udp)
tsapi int INKUDPConnFdGet (INKUDPConn udp)
tsapi INKUDPPacket INKUDPPacketCreate ()
tsapi TSIOBufferBlock INKUDPPacketBufferBlockGet (INKUDPPacket packet)
tsapi unsigned int INKUDPPacketFromAddressGet (INKUDPPacket packet)
tsapi int INKUDPPacketFromPortGet (INKUDPPacket packet)
tsapi INKUDPConn INKUDPPacketConnGet (INKUDPPacket packet)
tsapi void INKUDPPacketDestroy (INKUDPPacket packet)
tsapi INKUDPPacket INKUDPPacketGet (INKUDPacketQueue queuep)

Detailed Description

Internal SDK stuff.

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 InkAPIPrivateIOCore.h.


Define Documentation

#define FORCE_PLUGIN_MUTEX (   _c  ) 
Value:
MutexLock ml; \
  LOCK_MONGO_MUTEX; \
  if (( (INKContInternal*)_c)->mutex == NULL) { \
      ( (INKContInternal*)_c)->mutex = new_ProxyMutex(); \
      UNLOCK_MONGO_MUTEX; \
      MUX_WARNING(_c); \
      MUTEX_SET_AND_TAKE_LOCK(ml, ((INKContInternal*)_c)->mutex, this_ethread()); \
  } else { \
      UNLOCK_MONGO_MUTEX; \
      MUTEX_SET_AND_TAKE_LOCK(ml, ((INKContInternal*)_c)->mutex, this_ethread()); \
  }

Definition at line 136 of file InkAPIPrivateIOCore.h.

Referenced by INKUDPBind(), INKUDPRecvFrom(), INKUDPSendTo(), TSCacheRead(), TSCacheRemove(), TSCacheScan(), TSCacheWrite(), TSContSchedule(), TSContScheduleEvery(), TSHostLookup(), TSHttpSchedule(), TSNetAccept(), TSNetConnect(), TSNetConnectTransparent(), TSVConnRead(), and TSVConnWrite().

#define LOCK_MONGO_MUTEX

Definition at line 123 of file InkAPIPrivateIOCore.h.

#define MUX_WARNING (   p  ) 
Value:
TSDebug ("sdk","(SDK) null mutex detected in critical region (mutex created)"); \
TSDebug ("sdk","(SDK) please create continuation [%p] with mutex", (p));

Definition at line 125 of file InkAPIPrivateIOCore.h.

#define UNLOCK_MONGO_MUTEX

Definition at line 124 of file InkAPIPrivateIOCore.h.

#define UNSAFE_FORCE_MUTEX

Definition at line 120 of file InkAPIPrivateIOCore.h.


Typedef Documentation

typedef void* INKUDPacketQueue

Definition at line 173 of file InkAPIPrivateIOCore.h.

typedef void* INKUDPConn

Definition at line 174 of file InkAPIPrivateIOCore.h.

typedef void* INKUDPPacket

Definition at line 172 of file InkAPIPrivateIOCore.h.


Enumeration Type Documentation

Enumerator:
INKCONT_INTERN_MAGIC_ALIVE 
INKCONT_INTERN_MAGIC_DEAD 

Definition at line 37 of file InkAPIPrivateIOCore.h.


Function Documentation

tsapi TSAction INKUDPBind ( TSCont  contp,
unsigned int  ip,
int  port 
)
tsapi int INKUDPConnFdGet ( INKUDPConn  udp  ) 

Definition at line 410 of file InkIOCoreAPI.cc.

References UDPConnection::getFd().

tsapi TSIOBufferBlock INKUDPPacketBufferBlockGet ( INKUDPPacket  packet  ) 
tsapi INKUDPConn INKUDPPacketConnGet ( INKUDPPacket  packet  ) 
tsapi INKUDPPacket INKUDPPacketCreate (  ) 

Definition at line 418 of file InkIOCoreAPI.cc.

References new_UDPPacket().

tsapi void INKUDPPacketDestroy ( INKUDPPacket  packet  ) 
tsapi unsigned int INKUDPPacketFromAddressGet ( INKUDPPacket  packet  ) 
tsapi int INKUDPPacketFromPortGet ( INKUDPPacket  packet  ) 
tsapi INKUDPPacket INKUDPPacketGet ( INKUDPacketQueue  queuep  ) 

Definition at line 472 of file InkIOCoreAPI.cc.

References Queue< C, L >::pop().

Referenced by handle_callbacks(), and UDPClient_handle_callbacks().

tsapi TSAction INKUDPRecvFrom ( TSCont  contp,
INKUDPConn  udp 
)
tsapi TSAction INKUDPSendTo ( TSCont  contp,
INKUDPConn  udp,
unsigned int  ip,
int  port,
char *  buf,
int  len 
)
TSReturnCode sdk_sanity_check_hostlookup_structure ( TSHostLookupResult   ) 

Definition at line 69 of file InkIOCoreAPI.cc.

Referenced by TSHostLookupResultAddrGet().

TSReturnCode sdk_sanity_check_iocore_structure ( void *   ) 

Definition at line 78 of file InkIOCoreAPI.cc.

Referenced by TSAIORead(), TSAIOWrite(), TSCacheKeyDigestSet(), TSCacheRead(), TSCacheRemove(), TSCacheScan(), TSCacheWrite(), TSContDataGet(), TSContDataSet(), TSContDestroy(), TSContMutexGet(), TSContSchedule(), TSContScheduleEvery(), TSHttpHdrPrint(), TSHttpSchedule(), TSIOBufferBlockDataSizeGet(), TSIOBufferBlockDestroy(), TSIOBufferBlockNext(), TSIOBufferBlockReadAvail(), TSIOBufferBlockReadStart(), TSIOBufferBlockWriteAvail(), TSIOBufferBlockWriteStart(), TSIOBufferCopy(), TSIOBufferCreate(), TSIOBufferDestroy(), TSIOBufferProduce(), TSIOBufferReaderAlloc(), TSIOBufferReaderAvail(), TSIOBufferReaderClone(), TSIOBufferReaderConsume(), TSIOBufferReaderFree(), TSIOBufferReaderStart(), TSIOBufferSizedCreate(), TSIOBufferStart(), TSIOBufferWaterMarkGet(), TSIOBufferWaterMarkSet(), TSIOBufferWrite(), TSMgmtUpdateRegister(), TSMimeHdrPrint(), TSNetVConnLocalAddrGet(), TSNetVConnRemoteAddrGet(), TSTextLogObjectDestroy(), TSTextLogObjectFlush(), TSTextLogObjectHeaderSet(), TSTextLogObjectRollingEnabledSet(), TSTextLogObjectRollingIntervalSecSet(), TSTextLogObjectRollingOffsetHrSet(), TSTextLogObjectWrite(), TSThreadDestroy(), TSTransformOutputVConnGet(), TSUrlPrint(), TSVConnAbort(), TSVConnActiveTimeoutCancel(), TSVConnActiveTimeoutSet(), TSVConnCacheHttpInfoSet(), TSVConnCacheObjectSizeGet(), TSVConnClose(), TSVConnClosedGet(), TSVConnInactivityTimeoutCancel(), TSVConnInactivityTimeoutSet(), TSVConnRead(), TSVConnReadVIOGet(), TSVConnShutdown(), TSVConnWrite(), TSVConnWriteVIOGet(), TSVIOBufferGet(), TSVIOContGet(), TSVIOMutexGet(), TSVIONBytesGet(), TSVIONBytesSet(), TSVIONDoneGet(), TSVIONDoneSet(), TSVIONTodoGet(), TSVIOReaderGet(), TSVIOReenable(), and TSVIOVConnGet().

TSReturnCode sdk_sanity_check_mutex ( TSMutex   ) 
tsapi int64_t TSIOBufferBlockDataSizeGet ( TSIOBufferBlock  blockp  ) 
tsapi void TSIOBufferBlockDestroy ( TSIOBufferBlock  blockp  ) 
tsapi void TSIOBufferReaderCopy ( TSIOBufferReader  readerp,
const void *  buf,
int64_t  length 
)

Definition at line 561 of file InkIOCoreAPI.cc.

References IOBufferReader::memcpy().

Referenced by SDK_API_TSIOBufferCopy().

tsapi int TSMutexCheck ( TSMutex  mutex  ) 

Definition at line 209 of file InkIOCoreAPI.cc.

References RefCountObj::m_refcount, and ProxyMutex::nthread_holding.

tsapi TSMutex TSMutexCreateInternal ( void   ) 

Definition at line 197 of file InkIOCoreAPI.cc.

References new_ProxyMutex(), sdk_assert, sdk_sanity_check_mutex(), and TS_SUCCESS.