Class SqsBlobNode<T>

java.lang.Object
io.datarouter.storage.node.BaseNode<PK,D,F>
io.datarouter.storage.node.type.physical.base.BasePhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>
io.datarouter.aws.sqs.blob.SqsBlobNode<T>
All Implemented Interfaces:
SqsPhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>, io.datarouter.storage.node.Node<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>, io.datarouter.storage.node.op.raw.BlobQueueStorage<T>, io.datarouter.storage.node.op.raw.BlobQueueStorage.BlobQueueStorageNode<T>, io.datarouter.storage.node.op.raw.BlobQueueStorage.PhysicalBlobQueueStorageNode<T>, io.datarouter.storage.node.type.physical.PhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>, Comparable<io.datarouter.storage.node.Node<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>>

public class SqsBlobNode<T> extends io.datarouter.storage.node.type.physical.base.BasePhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder> implements io.datarouter.storage.node.op.raw.BlobQueueStorage.PhysicalBlobQueueStorageNode<T>, SqsPhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.BlobQueueStorage

    io.datarouter.storage.node.op.raw.BlobQueueStorage.BlobQueueStorageNode<T extends Object>, io.datarouter.storage.node.op.raw.BlobQueueStorage.PhysicalBlobQueueStorageNode<T extends Object>
  • Field Summary

    Fields inherited from interface io.datarouter.storage.node.op.raw.BlobQueueStorage

    OP_ack, OP_getMaxDataSize, OP_peek, OP_poll, OP_put
  • Constructor Summary

    Constructors
    Constructor
    Description
    SqsBlobNode(SqsQueueNameService sqsQueueNameService, io.datarouter.storage.node.NodeParams<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder> params, io.datarouter.bytes.Codec<T,byte[]> codec, io.datarouter.storage.client.ClientType<?,?> clientType, SqsClientManager sqsClientManager)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    ack(byte[] handle, io.datarouter.storage.config.Config config)
     
    boolean
     
    io.datarouter.bytes.Codec<T,byte[]>
     
     
    int
     
     
    Optional<io.datarouter.storage.queue.BlobQueueMessage<T>>
    peek(io.datarouter.storage.config.Config config)
     
    void
    putRaw(byte[] data, io.datarouter.storage.config.Config config)
     

    Methods inherited from class io.datarouter.storage.node.type.physical.base.BasePhysicalNode

    getChildNodes, getClientId, getClientIds, getClientType, getFieldInfo, getName, getPhysicalNodes, getPhysicalNodesForClient, toString, usesClient

    Methods inherited from class io.datarouter.storage.node.BaseNode

    compareTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.datarouter.storage.node.op.raw.BlobQueueStorage

    ack, ack, ack, combineAndPut, combineAndPut, peek, poll, poll, put, put, putMulti, putMulti, putMulti, putMulti, putRaw, willFit

    Methods inherited from interface java.lang.Comparable

    compareTo

    Methods inherited from interface io.datarouter.storage.node.Node

    getChildNodes, getClientIds, getName, getPhysicalNodes, getPhysicalNodesForClient, usesClient

    Methods inherited from interface io.datarouter.storage.node.type.physical.PhysicalNode

    getClientId, getClientType, getFieldInfo
  • Constructor Details

    • SqsBlobNode

      public SqsBlobNode(SqsQueueNameService sqsQueueNameService, io.datarouter.storage.node.NodeParams<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder> params, io.datarouter.bytes.Codec<T,byte[]> codec, io.datarouter.storage.client.ClientType<?,?> clientType, SqsClientManager sqsClientManager)
  • Method Details

    • getQueueUrlAndName

      public Supplier<QueueUrlAndName> getQueueUrlAndName()
      Specified by:
      getQueueUrlAndName in interface SqsPhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>
    • getAgeMonitoringStatusForMetricAlert

      public boolean getAgeMonitoringStatusForMetricAlert()
      Specified by:
      getAgeMonitoringStatusForMetricAlert in interface SqsPhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>
    • getCustomMessageAgeThreshold

      public Duration getCustomMessageAgeThreshold()
      Specified by:
      getCustomMessageAgeThreshold in interface SqsPhysicalNode<io.datarouter.model.key.EmptyDatabeanKey,io.datarouter.model.databean.EmptyDatabean,io.datarouter.model.databean.EmptyDatabean.EmptyDatabeanFielder>
    • getMaxRawDataSize

      public int getMaxRawDataSize()
      Specified by:
      getMaxRawDataSize in interface io.datarouter.storage.node.op.raw.BlobQueueStorage<T>
    • getCodec

      public io.datarouter.bytes.Codec<T,byte[]> getCodec()
      Specified by:
      getCodec in interface io.datarouter.storage.node.op.raw.BlobQueueStorage<T>
    • putRaw

      public void putRaw(byte[] data, io.datarouter.storage.config.Config config)
      Specified by:
      putRaw in interface io.datarouter.storage.node.op.raw.BlobQueueStorage<T>
    • peek

      public Optional<io.datarouter.storage.queue.BlobQueueMessage<T>> peek(io.datarouter.storage.config.Config config)
      Specified by:
      peek in interface io.datarouter.storage.node.op.raw.BlobQueueStorage<T>
    • ack

      public void ack(byte[] handle, io.datarouter.storage.config.Config config)
      Specified by:
      ack in interface io.datarouter.storage.node.op.raw.BlobQueueStorage<T>