from tornwamp.processors import GoodbyeProcessor, HelloProcessor, pubsub, rpc
from tornwamp.messages import Code

processors = {
    Code.HELLO: HelloProcessor,
    Code.GOODBYE: GoodbyeProcessor,
    Code.SUBSCRIBE: pubsub.SubscribeProcessor,
    Code.CALL: rpc.CallProcessor
}
#    2: 'welcome',
#    3: 'abort',
#    4: 'challenge',
#    5: 'authenticate',
#    7: 'heartbeat',
#    8: 'error',
#    16: 'publish',
#    17: 'published',
#    32: 'subscribe',
#    33: 'subscribed',
#    34: 'unsubscribe',
#    35: 'unsubscribed',
#    36: 'event',
#    49: 'cancel',
#    50: 'result',
#    64: 'register',
#    65: 'registered',
#    66: 'unregister',
#    67: 'unregistered',
#    68: 'invocation',
#    69: 'interrupt',
#    70: 'yield'

from tornwamp.processors import GoodbyeProcessor, HelloProcessor, pubsub, rpc
from tornwamp.messages import Code

processors = {
    Code.HELLO: HelloProcessor,
    Code.GOODBYE: GoodbyeProcessor,
    Code.SUBSCRIBE: pubsub.SubscribeProcessor,
    Code.CALL: rpc.CallProcessor,
    Code.PUBLISH: pubsub.PublishProcessor
}
#    2: 'welcome',
#    3: 'abort',
#    4: 'challenge',
#    5: 'authenticate',
#    7: 'heartbeat',
#    8: 'error',
#    16: 'publish',
#    17: 'published',
#    32: 'subscribe',
#    33: 'subscribed',
#    34: 'unsubscribe',
#    35: 'unsubscribed',
#    36: 'event',
#    49: 'cancel',
#    50: 'result',
#    64: 'register',
#    65: 'registered',
#    66: 'unregister',
#    67: 'unregistered',
#    68: 'invocation',
#    69: 'interrupt',
#    70: 'yield'

Add PublishProcessor to processors' list
Add PublishProcessor to processors' list

  from tornwamp.processors import GoodbyeProcessor, HelloProcessor, pubsub, rpc
  from tornwamp.messages import Code
  
  processors = {
      Code.HELLO: HelloProcessor,
      Code.GOODBYE: GoodbyeProcessor,
      Code.SUBSCRIBE: pubsub.SubscribeProcessor,
-     Code.CALL: rpc.CallProcessor
+     Code.CALL: rpc.CallProcessor,
+     Code.PUBLISH: pubsub.PublishProcessor
  }
  #    2: 'welcome',
  #    3: 'abort',
  #    4: 'challenge',
  #    5: 'authenticate',
  #    7: 'heartbeat',
  #    8: 'error',
  #    16: 'publish',
  #    17: 'published',
  #    32: 'subscribe',
  #    33: 'subscribed',
  #    34: 'unsubscribe',
  #    35: 'unsubscribed',
  #    36: 'event',
  #    49: 'cancel',
  #    50: 'result',
  #    64: 'register',
  #    65: 'registered',
  #    66: 'unregister',
  #    67: 'unregistered',
  #    68: 'invocation',
  #    69: 'interrupt',
  #    70: 'yield'
  
Add PublishProcessor to processors' list
## Code Before:
from tornwamp.processors import GoodbyeProcessor, HelloProcessor, pubsub, rpc
from tornwamp.messages import Code

processors = {
    Code.HELLO: HelloProcessor,
    Code.GOODBYE: GoodbyeProcessor,
    Code.SUBSCRIBE: pubsub.SubscribeProcessor,
    Code.CALL: rpc.CallProcessor
}
#    2: 'welcome',
#    3: 'abort',
#    4: 'challenge',
#    5: 'authenticate',
#    7: 'heartbeat',
#    8: 'error',
#    16: 'publish',
#    17: 'published',
#    32: 'subscribe',
#    33: 'subscribed',
#    34: 'unsubscribe',
#    35: 'unsubscribed',
#    36: 'event',
#    49: 'cancel',
#    50: 'result',
#    64: 'register',
#    65: 'registered',
#    66: 'unregister',
#    67: 'unregistered',
#    68: 'invocation',
#    69: 'interrupt',
#    70: 'yield'

## Instruction:
Add PublishProcessor to processors' list
## Code After:
from tornwamp.processors import GoodbyeProcessor, HelloProcessor, pubsub, rpc
from tornwamp.messages import Code

processors = {
    Code.HELLO: HelloProcessor,
    Code.GOODBYE: GoodbyeProcessor,
    Code.SUBSCRIBE: pubsub.SubscribeProcessor,
    Code.CALL: rpc.CallProcessor,
    Code.PUBLISH: pubsub.PublishProcessor
}
#    2: 'welcome',
#    3: 'abort',
#    4: 'challenge',
#    5: 'authenticate',
#    7: 'heartbeat',
#    8: 'error',
#    16: 'publish',
#    17: 'published',
#    32: 'subscribe',
#    33: 'subscribed',
#    34: 'unsubscribe',
#    35: 'unsubscribed',
#    36: 'event',
#    49: 'cancel',
#    50: 'result',
#    64: 'register',
#    65: 'registered',
#    66: 'unregister',
#    67: 'unregistered',
#    68: 'invocation',
#    69: 'interrupt',
#    70: 'yield'
