Package alexiil.mc.lib.net
Class NetIdSignalK<T>
java.lang.Object
alexiil.mc.lib.net.TreeNetIdBase
alexiil.mc.lib.net.NetIdBase
alexiil.mc.lib.net.NetIdTyped<T>
alexiil.mc.lib.net.NetIdSignalK<T>
public final class NetIdSignalK<T> extends NetIdTyped<T>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
NetIdSignalK.IMsgSignalReceiverK<T>
-
Field Summary
Fields inherited from class alexiil.mc.lib.net.TreeNetIdBase
DYNAMIC_LENGTH, fullName, length, name, totalLength
-
Constructor Summary
Constructors Constructor Description NetIdSignalK(ParentNetIdSingle<T> parent, java.lang.String name)
-
Method Summary
Modifier and Type Method Description protected void
receive(NetByteBuf buffer, IMsgReadCtx ctx, T obj)
void
send(ActiveConnection connection, T obj)
Sends this signal over the specified connectionNetIdSignalK<T>
setReceiver(NetIdSignalK.IMsgSignalReceiverK<T> receiver)
NetIdSignalK<T>
toClientOnly()
Changes the flags for this packet to indicate that it should only be sent from the server to the client.NetIdSignalK<T>
toEitherSide()
This clears theNetIdBase.toClientOnly()
andNetIdBase.toServerOnly()
flag states, and will make sending packets not throw exceptions.NetIdSignalK<T>
toServerOnly()
Changes the flags for this packet to indicate that it should only be sent from the client to the server.NetIdSignalK<T>
withLargeSize()
Changes the size flags of this net ID to indicate that it should use three bytes for the packet's total length (including the header).NetIdSignalK<T>
withNormalSize()
Changes the size flags of this net ID to indicate that it should use two bytes for the packet's total length (including the header).NetIdSignalK<T>
withoutBuffering()
Changes the flags for this packet to indicate that it should never be buffered by aBufferedConnection
.NetIdSignalK<T>
withTinySize()
Changes the size flags of this net ID to indicate that it should use a single byte for the packet's total length (including the header).Methods inherited from class alexiil.mc.lib.net.NetIdBase
_toClientOnly, _toEitherSide, _toServerOnly, buffered, changeFlag, notBuffered, setBuffered, setLargeSize, setMaximumDropDelay, setNormalSize, setTinySize
Methods inherited from class alexiil.mc.lib.net.TreeNetIdBase
equals, getRealClassName, hasFixedLength, hashCode, toString
-
Constructor Details
-
Method Details
-
setReceiver
-
receive
- Specified by:
receive
in classNetIdTyped<T>
- Throws:
InvalidInputDataException
-
withoutBuffering
Description copied from class:NetIdBase
Changes the flags for this packet to indicate that it should never be buffered by aBufferedConnection
. This means that it will arrive on the other end of the connection before other packets that don't have this flag set. Sending a lot of these "queue-skipping packets" will generally have a large impact on performance.Unlike all of the other flag modification methods this may be called at any time, in particular before and after sending this.
This method should be preferred over
NetIdBase.notBuffered()
because it returns itself.- Specified by:
withoutBuffering
in classNetIdBase
- Returns:
- This.
-
withTinySize
Description copied from class:NetIdBase
Changes the size flags of this net ID to indicate that it should use a single byte for the packet's total length (including the header). In other words the maximum packet length is 256 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed
.This method should be preferred over
NetIdBase.setTinySize()
because it returns itself.- Specified by:
withTinySize
in classNetIdBase
- See Also:
NetIdBase.withNormalSize()
,NetIdBase.withLargeSize()
-
withNormalSize
Description copied from class:NetIdBase
Changes the size flags of this net ID to indicate that it should use two bytes for the packet's total length (including the header). In other words the maximum packet length is 65,536 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed
.This method should be preferred over
NetIdBase.setNormalSize()
because it returns itself.- Specified by:
withNormalSize
in classNetIdBase
- See Also:
NetIdBase.withTinySize()
,NetIdBase.withLargeSize()
-
withLargeSize
Description copied from class:NetIdBase
Changes the size flags of this net ID to indicate that it should use three bytes for the packet's total length (including the header). In other words the maximum packet length is 16,777,216 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed
.Unlike all of the other flag modification methods this may be called at any time, in particular before and after sending this.
This method should be preferred over
NetIdBase.setLargeSize()
because it returns itself.- Specified by:
withLargeSize
in classNetIdBase
- See Also:
NetIdBase.withTinySize()
,NetIdBase.withNormalSize()
-
toClientOnly
Description copied from class:NetIdBase
Changes the flags for this packet to indicate that it should only be sent from the server to the client. This will make sending this packet from the client throw an unchecked exception, and make the server refuse to bind this packet to an integer ID for receiving.- Specified by:
toClientOnly
in classNetIdBase
- See Also:
NetIdBase.toServerOnly()
-
toServerOnly
Description copied from class:NetIdBase
Changes the flags for this packet to indicate that it should only be sent from the client to the server. This will make sending this packet from the server throw an unchecked exception, and make the client refuse to bind this packet to an integer ID for receiving.- Specified by:
toServerOnly
in classNetIdBase
- See Also:
NetIdBase.toClientOnly()
-
toEitherSide
Description copied from class:NetIdBase
This clears theNetIdBase.toClientOnly()
andNetIdBase.toServerOnly()
flag states, and will make sending packets not throw exceptions.This is the default state for every
NetIdBase
.- Specified by:
toEitherSide
in classNetIdBase
-
send
Sends this signal over the specified connection- Specified by:
send
in classNetIdTyped<T>
-