C D E F G I J L M N P Q R S T U _ 

C

COL_CONTENT - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_CONTENT - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_CONTENT - Static variable in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
COL_EPHEMERAL_ID - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_EPHEMERAL_ID - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_NUM_REQUEUES - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_NUM_REQUEUES - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_NUM_REQUEUES - Static variable in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
COL_ORG_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_ORG_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_ORG_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
COL_QUEUE_ID - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_QUEUE_ID - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_QUEUE_ID - Static variable in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
COL_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
COL_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
COL_TIMESTAMP - Static variable in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
com.github.ddth.queue - package com.github.ddth.queue
 
com.github.ddth.queue.impl - package com.github.ddth.queue.impl
 
com.github.ddth.queue.utils - package com.github.ddth.queue.utils
 
content() - Method in class com.github.ddth.queue.UniversalQueueMessage
Gets message's content.
content(byte[]) - Method in class com.github.ddth.queue.UniversalQueueMessage
Sets message's content.

D

DEFAULT_MAX_RETRIES - Static variable in class com.github.ddth.queue.impl.JdbcQueue
 
destroy() - Method in class com.github.ddth.queue.impl.JdbcQueue
destroy() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Destroy method.

E

ephemeralSize() - Method in class com.github.ddth.queue.impl.JdbcQueue
Gets ephemeral-storage's number of items.
ephemeralSize() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Gets ephemeral-storage's number of items.
ephemeralSize() - Method in interface com.github.ddth.queue.IQueue
Gets ephemeral-storage's number of items.

F

FIELD_CONTENT - Static variable in class com.github.ddth.queue.UniversalQueueMessage
 
FIELD_NUM_REQUEUES - Static variable in class com.github.ddth.queue.UniversalQueueMessage
 
FIELD_ORG_TIMESTAMP - Static variable in class com.github.ddth.queue.UniversalQueueMessage
 
FIELD_QUEUE_ID - Static variable in class com.github.ddth.queue.UniversalQueueMessage
 
FIELD_TIMESTAMP - Static variable in class com.github.ddth.queue.UniversalQueueMessage
 
finish(IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Called when finish processing the message to cleanup ephemeral storage.
finish(IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Called when finish processing the message to cleanup ephemeral storage.
finish(IQueueMessage) - Method in interface com.github.ddth.queue.IQueue
Called when finish processing the message to cleanup ephemeral storage.

G

getEphemeralDisabled() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
getFifo() - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
getFifo() - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
getFifo() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
getMaxRetries() - Method in class com.github.ddth.queue.impl.JdbcQueue
 
getOrphanFromEphemeralStorage(JdbcTemplate, long) - Method in class com.github.ddth.queue.impl.JdbcQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanFromEphemeralStorage(JdbcTemplate, long) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanFromEphemeralStorage(JdbcTemplate, long) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanFromEphemeralStorage(JdbcTemplate, long) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanMessages(long) - Method in class com.github.ddth.queue.impl.JdbcQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanMessages(long) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getOrphanMessages(long) - Method in interface com.github.ddth.queue.IQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time).
getRedisHashName() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
getRedisHost() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
getRedisListName() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
getRedisPort() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
getRedisSortedSetName() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
getTableName() - Method in class com.github.ddth.queue.impl.JdbcQueue
 
getTableNameEphemeral() - Method in class com.github.ddth.queue.impl.JdbcQueue
 
getTableNameEphemeral() - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
getTableNameEphemeral() - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
getTransactionIsolationLevel() - Method in class com.github.ddth.queue.impl.JdbcQueue
 

I

init() - Method in class com.github.ddth.queue.impl.JdbcQueue
init() - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
init() - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
init() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
init() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Init method.
IQueue - Interface in com.github.ddth.queue
APIs to interact with queue.
IQueueMessage - Interface in com.github.ddth.queue
Represents a queue message.
isEphemeralDisabled() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
isFifo() - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
isFifo() - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
isFifo() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 

J

JdbcQueue - Class in com.github.ddth.queue.impl
Abstract JDBC implementation of IQueue.
JdbcQueue() - Constructor for class com.github.ddth.queue.impl.JdbcQueue
 

L

LessLockingUniversalMySQLQueue - Class in com.github.ddth.queue.impl
Same as UniversalJdbcQueue, but using a less-locking algorithm - specific for MySQL, and requires onle one single db table for both queue and ephemeral storages.
LessLockingUniversalMySQLQueue() - Constructor for class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
LessLockingUniversalPgSQLQueue - Class in com.github.ddth.queue.impl
Same as UniversalJdbcQueue, but using a less-locking algorithm - specific for PgSQL, and requires only one single db table for both queue and ephemeral storages.
LessLockingUniversalPgSQLQueue() - Constructor for class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 

M

markEphemeralDisabled(boolean) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
markFifo(boolean) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
markFifo(boolean) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
markFifo(boolean) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
moveFromEphemeralToQueueStorage(IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Moves a message from ephemeral back to queue storage.
moveFromEphemeralToQueueStorage(IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Moves a message from ephemeral back to queue storage.
moveFromEphemeralToQueueStorage(IQueueMessage) - Method in interface com.github.ddth.queue.IQueue
Moves a message from ephemeral back to queue storage.

N

newInstance() - Static method in class com.github.ddth.queue.UniversalQueueMessage
Creates a new UniversalQueueMessage object.

P

putToEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Puts a message to the ephemeral storage.
putToEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Puts a message to the ephemeral storage.
putToEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Puts a message to the ephemeral storage.
putToEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Puts a message to the ephemeral storage.
putToQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Puts a message to tail of the queue storage.
putToQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Puts a message to tail of the queue storage.
putToQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Puts a message to tail of the queue storage.
putToQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Puts a message to tail of the queue storage.

Q

qId() - Method in interface com.github.ddth.queue.IQueueMessage
Message's unique id in queue.
qId(Object) - Method in interface com.github.ddth.queue.IQueueMessage
Sets message's unique queue id.
qId() - Method in class com.github.ddth.queue.UniversalQueueMessage
Message's unique id in queue.
qId(Object) - Method in class com.github.ddth.queue.UniversalQueueMessage
Sets message's unique queue id.
qIncNumRequeues() - Method in interface com.github.ddth.queue.IQueueMessage
Increases message's number of re-queue times by 1.
qIncNumRequeues() - Method in class com.github.ddth.queue.UniversalQueueMessage
Increases message's number of re-queue times by 1.
qNumRequeues() - Method in interface com.github.ddth.queue.IQueueMessage
How many times message has been re-queued?
qNumRequeues(int) - Method in interface com.github.ddth.queue.IQueueMessage
Sets message's number of re-queue times.
qNumRequeues() - Method in class com.github.ddth.queue.UniversalQueueMessage
 
qNumRequeues(int) - Method in class com.github.ddth.queue.UniversalQueueMessage
Sets message's number of re-queue times.
qOriginalTimestamp() - Method in interface com.github.ddth.queue.IQueueMessage
Message's first-queued timestamp.
qOriginalTimestamp(Date) - Method in interface com.github.ddth.queue.IQueueMessage
Sets message's first-queued timestamp.
qOriginalTimestamp() - Method in class com.github.ddth.queue.UniversalQueueMessage
Message's first-queued timestamp.
qOriginalTimestamp(Date) - Method in class com.github.ddth.queue.UniversalQueueMessage
Sets message's first-queued timestamp.
qTimestamp() - Method in interface com.github.ddth.queue.IQueueMessage
Message's last-queued timestamp.
qTimestamp(Date) - Method in interface com.github.ddth.queue.IQueueMessage
Sets message's last-queued timestamp.
qTimestamp() - Method in class com.github.ddth.queue.UniversalQueueMessage
Message's last-queued timestamp.
qTimestamp(Date) - Method in class com.github.ddth.queue.UniversalQueueMessage
Sets message's last-queued timestamp.
queue(IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Queues a message.
queue(IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Queues a message.
queue(IQueueMessage) - Method in interface com.github.ddth.queue.IQueue
Queues a message.
QueueException - Exception in com.github.ddth.queue.utils
Thrown to indicate that there has been an error with queue oeration.
QueueException() - Constructor for exception com.github.ddth.queue.utils.QueueException
 
QueueException(String) - Constructor for exception com.github.ddth.queue.utils.QueueException
 
QueueException(Throwable) - Constructor for exception com.github.ddth.queue.utils.QueueException
 
QueueException(String, Throwable) - Constructor for exception com.github.ddth.queue.utils.QueueException
 
QueueException(String, Throwable, boolean, boolean) - Constructor for exception com.github.ddth.queue.utils.QueueException
 
queueSize() - Method in class com.github.ddth.queue.impl.JdbcQueue
Gets queue's number of items.
queueSize() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Gets queue's number of items.
queueSize() - Method in interface com.github.ddth.queue.IQueue
Gets queue's number of items.

R

readFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Reads a message from the ephemeral storage.
readFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Reads a message from the ephemeral storage.
readFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Reads a message from the ephemeral storage.
readFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Reads a message from the ephemeral storage.
readFromQueueStorage(JdbcTemplate) - Method in class com.github.ddth.queue.impl.JdbcQueue
Reads a message from head of queue storage.
readFromQueueStorage(JdbcTemplate) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Reads a message from head of queue storage.
readFromQueueStorage(JdbcTemplate) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Reads a message from head of queue storage.
readFromQueueStorage(JdbcTemplate) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Reads a message from head of queue storage.
removeFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Removes a message from the ephemeral storage.
removeFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Removes a message from the ephemeral storage.
removeFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Removes a message from the ephemeral storage.
removeFromEphemeralStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Removes a message from the ephemeral storage.
removeFromQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Removes a message from the queue storage.
removeFromQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Removes a message from the queue storage.
removeFromQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Removes a message from the queue storage.
removeFromQueueStorage(JdbcTemplate, IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Removes a message from the queue storage.
requeue(IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Re-queues a message.
requeue(IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Re-queues a message.
requeue(IQueueMessage) - Method in interface com.github.ddth.queue.IQueue
Re-queues a message.
requeueSilent(IQueueMessage) - Method in class com.github.ddth.queue.impl.JdbcQueue
Silently re-queues a message.
requeueSilent(IQueueMessage) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Silently re-queues a message.
requeueSilent(IQueueMessage) - Method in interface com.github.ddth.queue.IQueue
Silently re-queues a message.

S

setEphemeralDisabled(boolean) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
setFifo(boolean) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
 
setFifo(boolean) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
 
setFifo(boolean) - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
 
setMaxRetries(int) - Method in class com.github.ddth.queue.impl.JdbcQueue
 
setRedisHashName(String) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
setRedisHost(String) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
setRedisListName(String) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
setRedisPort(int) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
setRedisSortedSetName(String) - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
 
setTableName(String) - Method in class com.github.ddth.queue.impl.JdbcQueue
 
setTableNameEphemeral(String) - Method in class com.github.ddth.queue.impl.JdbcQueue
 
setTransactionIsolationLevel(int) - Method in class com.github.ddth.queue.impl.JdbcQueue
 

T

take() - Method in class com.github.ddth.queue.impl.JdbcQueue
Takes a message out of queue.
take() - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Takes a message out of queue.
take() - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Takes a message out of queue.
take() - Method in class com.github.ddth.queue.impl.UniversalJdbcQueue
Takes a message out of queue.
take() - Method in class com.github.ddth.queue.impl.UniversalRedisQueue
Takes a message out of queue.
take() - Method in interface com.github.ddth.queue.IQueue
Takes a message out of queue.

U

UniversalJdbcQueue - Class in com.github.ddth.queue.impl
Universal JDBC implementation of IQueue.
UniversalJdbcQueue() - Constructor for class com.github.ddth.queue.impl.UniversalJdbcQueue
 
UniversalQueueMessage - Class in com.github.ddth.queue
Universal queue message.
UniversalQueueMessage() - Constructor for class com.github.ddth.queue.UniversalQueueMessage
 
UniversalRedisQueue - Class in com.github.ddth.queue.impl
Universal Redis implementation of IQueue.
UniversalRedisQueue() - Constructor for class com.github.ddth.queue.impl.UniversalRedisQueue
 

_

_finishWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Performs "finish" action, retry if deadlock.
_finishWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Performs "finish" action, retry if deadlock.
_finishWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Performs "finish" action, retry if deadlock.
_getOrphanMessagesWithRetries(long, Connection, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Gets all orphan messages (messages that were left in ephemeral storage for a long time), retry if deadlock.
_moveFromEphemeralToQueueStorageWithRetries(IQueueMessage, Connection, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Moves a message from ephemeral back to queue storage, retry if deadlock.
_moveFromEphemeralToQueueStorageWithRetries(IQueueMessage, Connection, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Moves a message from ephemeral back to queue storage, retry if deadlock.
_moveFromEphemeralToQueueStorageWithRetries(IQueueMessage, Connection, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Moves a message from ephemeral back to queue storage, retry if deadlock.
_queueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Queues a message, retry if deadlock.
_queueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Queues a message, retry if deadlock.
_queueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Queues a message, retry if deadlock.
_requeueSilentWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Re-queues a message silently, retry if deadlock.
_requeueSilentWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Re-queues a message silently, retry if deadlock.
_requeueSilentWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Re-queues a message silently, retry if deadlock.
_requeueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Re-queues a message, retry if deadlock.
_requeueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Re-queues a message, retry if deadlock.
_requeueWithRetries(Connection, IQueueMessage, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Re-queues a message, retry if deadlock.
_takeWithRetries(Connection, int, int) - Method in class com.github.ddth.queue.impl.JdbcQueue
Takes a message from queue, retry if deadlock.
_takeWithRetries(Connection, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalMySQLQueue
Takes a message from queue, retry if deadlock.
_takeWithRetries(Connection, int, int) - Method in class com.github.ddth.queue.impl.LessLockingUniversalPgSQLQueue
Takes a message from queue, retry if deadlock.
C D E F G I J L M N P Q R S T U _ 

Copyright © 2015 DDTH. All Rights Reserved.