# How to do a tag readBlocking from the sdk

**URL:** <https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825>\
**Category:** Module Development\
**Created:** [February 7, 2022, 7:44pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825 "2022-02-07T19:44:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 7, 2022, 7:44pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825/1 "2022-02-07T19:44:46Z")

</div>

How does one implement the equivalent of system.tag.readBlocking with the sdk? I see it implemented in AbstractTagUtilities, but GatewayTagManager does not extend that class. I don’t see an example for it on GitHub at first glance.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 7, 2022, 7:54pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825/2 "2022-02-07T19:54:06Z")

</div>

All tag managers have the writeAsync() method. Pretty sure that’s what you need.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 7, 2022, 8:47pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825/3 "2022-02-07T20:47:02Z")

</div>

This page has an example which can be modified:  
[https://docs.inductiveautomation.com/display/SE/Read+and+Write+Tags](https://docs.inductiveautomation.com/display/SE/Read+and+Write+Tags)

It starts with this, which I don’t believe is supported by the SDK:  
IgnitionGateway context = IgnitionGateway.get();

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 7, 2022, 8:58pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825/4 "2022-02-07T20:58:33Z")

</div>

> [@james.vosler](#):
>
> It starts with this, which I don’t believe is supported by the SDK:  
> IgnitionGateway context = IgnitionGateway.get();

Not necessary in the SDK, as modules are provided with the context during setup.

---

<div class="post-metadata">

**Author:** ![james.vosler](https://avatars.discourse-cdn.com/v4/letter/j/8797f3/32.png) [@james.vosler](https://forum.inductiveautomation.com/u/james.vosler)\
**Post date:** [February 7, 2022, 9:16pm UTC](https://forum.inductiveautomation.com/t/how-to-do-a-tag-readblocking-from-the-sdk/55825/5 "2022-02-07T21:16:11Z")

</div>

For future reference: readAsync returns CompletableFuture \< T \>, which implements a blocking get() amongst other methods of returning the value.
